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 ...

1 年 ago

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

本篇介紹如何在 Ubuntu ...

1 年 ago

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

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

1 年 ago

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

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

1 年 ago