繞過 phpMyAdmin 建立資料庫與表格


Posted by YongChenSu on 2020-12-08

phpMyAdmin 等到懷疑人生

在 phpMyAdmin 上,不曉得是不是所有人共用同一個資料庫的關係,速度相當相當慢 🐢🐢🐢 (這邊改用 3 隻烏龜代表 ...)

在好不容易登入出現畫面,新建完自己的子資料庫與資料表後,想說可以邁入下一個階段了,沒想到 **手殘沒有調到欄位類型**

雖然是自己耍笨,但又要在 phpMyAdmin 上點開資料表重新再來一次,所以 🐢🐢🐢



同學 @JASON HAUNG 看到我的狀況後,給了我一個建議:建資料庫表格全部都用 CLI 自已打 sql query,也可更熟練 php 語法。所以 google 找一下資料後,我的方法如下:

  1. 改寫連線檔 (./conn.php)。
  2. 一樣在 index.php 引入連線檔 (require_once(./conn.php))。
  3. 在瀏覽器上開啟 ./index.php。

./conn.php

<?php
  $servername = "localhost";
  $username = "我的帳號";
  $password = "我的密碼";

  // Create connection
  $conn = new mysqli($servername, $username, $password);
    if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
  }

  // Create database
  $sql = "CREATE DATABASE 資料庫名稱";
    if ($conn->query($sql) === TRUE) {
    echo "Database created successfully. <br>";
  } else {
    die("Error creating database: " . $conn->error);
  }

  // Create connection with $dbname
  $dbname = "資料庫名稱";
  $conn2 = new mysqli($servername, $username, $password, $dbname);
    if ($conn2->connect_error) {
    die("Connection failed: " . $conn2->connect_error);
  }

  // Create table users
  $sqlUsers = "CREATE TABLE users (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    nickname VARCHAR(64) NOT NULL,
    username VARCHAR(64) NOT NULL,
    password VARCHAR(64) NOT NULL, 
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
  )";

  if ($conn2->query($sqlUsers) === TRUE) {
    echo "Table users created successfully. <br>";
  } else {
    die("Error creating table: " . $conn2->error);
  }

  // Create table comments
  $sqlComments = "CREATE TABLE comments (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    nickname VARCHAR(64) NOT NULL,
    content TEXT NOT NULL,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
  )";

  if ($conn2->query($sqlComments) === TRUE) {
    echo "Table comments created successfully. <br>";
  } else {
    die("Error creating table: " . $conn2->error);
  }
?>


./index.php

<?php
  require_once('./conn.php');
?>


成功連線建立資料庫與資料表 ~^_^~



總結

下次我就想採取上述方式建檔,應該可以快很多。
特別感謝 JASON 的建議,也讓我多嘗試 php,好像對 php 更有愛一點 ??,希望有幫助到大家!

參考資源


#程式導師實驗計畫第四期 #前端 #phpmyadmin







Related Posts

[重新理解 C++] Array 和 Pointer 的差異

[重新理解 C++] Array 和 Pointer 的差異

ImageView同寬不同長

ImageView同寬不同長

[ JavaScript 01 ] 基礎觀念

[ JavaScript 01 ] 基礎觀念


Comments