PHP

PHP 連接 MySQL/MariaDB 資料庫 MySQLi 教學與範例

介紹如何在 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();
?>

參考資料:w3schools.com

Share
Published by
Office Guide

Recent Posts

Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤

本篇介紹如何在 Python ...

9 個月 ago

Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例

本篇介紹如何在 Ubuntu ...

10 個月 ago

Linux 網路設定 ip 指令用法教學與範例

本篇介紹如何在 Linux 系...

10 個月 ago

Windows 使用 TPM 虛擬智慧卡保護 SSH 金鑰教學與範例

本篇介紹如何在 Windows...

11 個月 ago

Linux 以 Shamir’s Secret Sharing 分割保存金鑰教學與範例

介紹如何在 Linux 中使用...

11 個月 ago

Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例

介紹如何在 Linux 系統中...

11 個月 ago