介紹如何在 PHP 中使用 MySQLi 連接 MySQL 或 MariaDB 資料庫,進行各種資料庫操作。
這裡整理了各種使用 MySQLi 連接 MySQL 或 MariaDB 資料庫,進行各種操作的程式碼範例。
CREATE TABLE 建立資料表
以下是一個建立資料表的簡單範例:
<?php
$server = "localhost"; # MySQL/MariaDB 伺服器
$dbuser = "officeguide"; # 使用者帳號
$dbpassword = "your_password"; # 使用者密碼
$dbname = "officeguide_db"; # 資料庫名稱
# 連接 MySQL/MariaDB 資料庫
$connection = new mysqli($server, $dbuser, $dbpassword, $dbname);
# 檢查連線是否成功
if ($connection->connect_error) {
die("連線失敗:" . $connection->connect_error);
}
# MySQL/MariaDB 指令
$sqlQuery = "CREATE TABLE user_table (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
age INT UNSIGNED)";
# 執行 MySQL/MariaDB 指令
if ($connection->query($sqlQuery) === TRUE) {
echo "成功建立資料表。";
} else {
echo "執行失敗:" . $connection->error;
}
# 關閉 MySQL/MariaDB 連線
$connection->close();
?>
INSERT 新增資料
以下是一個以 INSERT 新增資料的範例,它跟建立資料表的方法幾乎一樣,只是如果資料表中含有 AUTO_INCREMENT 屬性的 ID 欄位,可以直接用 $connection->insert_id 取得此筆資料的 ID,這個小功能在許多情況下非常好用。
<?php
$server = "localhost"; # MySQL/MariaDB 伺服器
$dbuser = "officeguide"; # 使用者帳號
$dbpassword = "your_password"; # 使用者密碼
$dbname = "officeguide_db"; # 資料庫名稱
# 連接 MySQL/MariaDB 資料庫
$connection = new mysqli($server, $dbuser, $dbpassword, $dbname);
# 檢查連線是否成功
if ($connection->connect_error) {
die("連線失敗:" . $connection->connect_error);
}
# MySQL/MariaDB 指令
$sqlQuery = "INSERT INTO user_table (name, age) VALUES ('John', 23)";
# 執行 MySQL/MariaDB 指令
if ($connection->query($sqlQuery) === TRUE) {
# 若有 AUTO_INCREMENT 的 ID 欄位,可直接取得此筆資料的 ID
$last_id = $connection->insert_id;
echo "成功新增資料,新資料 ID:" . $last_id;
} else {
echo "執行失敗:" . $connection->error;
}
# 關閉 MySQL/MariaDB 連線
$connection->close();
?>
SELECT 查詢資料
以下是使用 SELECT 查詢資料的範例:
<?php
$server = "localhost"; # MySQL/MariaDB 伺服器
$dbuser = "officeguide"; # 使用者帳號
$dbpassword = "your_password"; # 使用者密碼
$dbname = "officeguide_db"; # 資料庫名稱
# 連接 MySQL/MariaDB 資料庫
$connection = new mysqli($server, $dbuser, $dbpassword, $dbname);
# 檢查連線是否成功
if ($connection->connect_error) {
die("連線失敗:" . $connection->connect_error);
}
# MySQL/MariaDB 指令
$sqlQuery = "SELECT name, age FROM user_table WHERE id = 4;";
# 執行 MySQL/MariaDB 指令
if ($result = $connection->query($sqlQuery)) {
# 取得結果
while ($row = $result->fetch_row()) {
printf ("%s:%d\n", $row[0], $row[1]);
}
# 釋放資源
$result->close();
} else {
echo "執行失敗:" . $connection->error;
}
# 關閉 MySQL/MariaDB 連線
$connection->close();
?>
UPDATE 更新資料
這是使用 UPDATE 更新資料的範例:
<?php
$server = "localhost"; # MySQL/MariaDB 伺服器
$dbuser = "officeguide"; # 使用者帳號
$dbpassword = "your_password"; # 使用者密碼
$dbname = "officeguide_db"; # 資料庫名稱
# 連接 MySQL/MariaDB 資料庫
$connection = new mysqli($server, $dbuser, $dbpassword, $dbname);
# 檢查連線是否成功
if ($connection->connect_error) {
die("連線失敗:" . $connection->connect_error);
}
# MySQL/MariaDB 指令
$sqlQuery = "UPDATE user_table SET age = 31 WHERE id = 4";
# 執行 MySQL/MariaDB 指令
if ($connection->query($sqlQuery) === TRUE) {
echo "成功更新資料。";
} else {
echo "執行失敗:" . $connection->error;
}
# 關閉 MySQL/MariaDB 連線
$connection->close();
?>
DELETE 刪除資料
這是使用 DELETE 刪除資料的範例:
<?php
$server = "localhost"; # MySQL/MariaDB 伺服器
$dbuser = "officeguide"; # 使用者帳號
$dbpassword = "your_password"; # 使用者密碼
$dbname = "officeguide_db"; # 資料庫名稱
# 連接 MySQL/MariaDB 資料庫
$connection = new mysqli($server, $dbuser, $dbpassword, $dbname);
# 檢查連線是否成功
if ($connection->connect_error) {
die("連線失敗:" . $connection->connect_error);
}
# MySQL/MariaDB 指令
$sqlQuery = "DELETE FROM user_table WHERE id = 4";
# 執行 MySQL/MariaDB 指令
if ($connection->query($sqlQuery) === TRUE) {
echo "成功刪除資料。";
} else {
echo "執行失敗:" . $connection->error;
}
# 關閉 MySQL/MariaDB 連線
$connection->close();
?>
