MySQL - PHP 語法:初學者指南

你好,未來的編程超新星!我很興奮能成為您踏進MySQL和PHP世界的引路人。作為一個教了多年計算機科學的人,我可以告訴你,這對組合就像花生醬和果醬一樣——它們就是完美地搭配在一起!那麼,讓我們一起潛入MySQL-PHP語法的神秘之中。

MySQL - PHP Syntax

PHP MySQLi 函式庫:數據庫魔法的入口

在我們開始像有經驗的程序员一樣拋出代碼之前,讓我們先來了解一下PHP MySQLi函式庫。把它當作PHP用來與MySQL數據庫通信的特別工具包。它就像是PHP和MySQL之間的通用翻譯器,讓它們能夠完美理解對方。

MySQLi擴展(其中的'i'代表'改進')是一個強大的工具,提供了一系列與MySQL數據庫交互的函式。它設計用於充分利用MySQL 4.1.3及之後版本的新特性。

為什麼使用MySQLi?

你可能會想,"我為什麼要在乎MySQLi?" 好奇的朋友,MySQLi有許多優勢:

  1. 面向對象的接口
  2. 支持預處理語句
  3. 支持多語句執行
  4. 支持交易
  5. 增強的調試功能

相信我,這些特性會讓你在編程旅程中生活得更輕鬆!

如何安裝MySQLi:設置你的工作臺

現在,讓我們動手設置MySQLi。別擔心;這比組裝宜家家具還要簡單!

Windows用戶:

  1. 打開你的PHP配置文件(php.ini)
  2. 找到行extension=mysqli並刪除開頭的半角符號
  3. 保存文件並重新啟動你的網絡服務器

Mac/Linux用戶:

很可能,MySQLi已經默認啟用了。如果沒有,按照以下步驟操作:

  1. 打開終端
  2. 執行php -m | grep mysqli
  3. 如果輸出中沒有看到'mysqli',編輯你的php.ini文件並啟用它

完成這些操作後,你就可以像專業人士一樣開始編程了!

PHP函式訪問MySQL:你的數據庫工具箱

現在我們已經設置好了MySQLi擴展,來看看一些與MySQL數據庫交互最常用的函式。我喜歡把它們當作你數據庫工具箱中的不同工具。

函式 描述
mysqli_connect() 建立到MySQL服務器的連接
mysqli_query() 在數據庫上執行查詢
mysqli_fetch_array() 將結果行作為關聯數組、數字數組或兩者皆可提取
mysqli_close() 關閉先前打開的數據庫連接
mysqli_real_escape_string() 為SQL語句中的字符串轉義特殊字符
mysqli_num_rows() 獲取結果集中的行數
mysqli_affected_rows() 獲取前一次MySQL操作的影響行數

這些函式就像是你工具箱中的不同扳手和螺絲刀。每個都有其特定的用途,隨著經驗的積累,你將會知道在任何情況下該使用哪一個。

基本範例:讓我們開始編程!

好吧,現在你們一直在等待的時刻到了——讓我們來寫一些真正的代碼!我們將創建一個簡單的腚本,連接到數據庫,執行一個查詢,並顯示結果。別擔心如果你一開始不理解所有內容;我們會一步步解析。

<?php
// 數據庫連接詳情
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

// 創建連接
$conn = mysqli_connect($servername, $username, $password, $dbname);

// 檢查連接
if (!$conn) {
die("連接失敗: " . mysqli_connect_error());
}

// SQL查詢
$sql = "SELECT id, firstname, lastname FROM users";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
// 輸出每行的數據
while($row = mysqli_fetch_assoc($result)) {
echo "ID: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 results";
}

// 關閉連接
mysqli_close($conn);
?>

現在,讓我們分解這個腢本:

  1. 首先,我們設置我們的數據庫連接詳情。這就像是在信封上寫地址——我們需要知道我們要把信息發送到哪裡!

  2. 我們使用mysqli_connect()來建立到數據庫的連接。這就像是在撥打一個電話號碼來給你的數據庫打电话。

  3. 我們檢查連接是否成功。如果不成功,我們使用die()來停止腢本並顯示錯誤信息。總是有一個備用計劃是好的!

  4. 我們編寫我們的SQL查詢。這就像是在問數據庫一個問題:"你能給我所有用戶的id、firstname和lastname嗎?"

  5. 我們使用mysqli_query()來將這個問題發送到數據庫。

  6. 我們使用mysqli_num_rows()來檢查我們是否得到了任何結果。

  7. 如果我們有結果,我們使用一個while循環和mysqli_fetch_assoc()來逐行查看結果。這就像是在打開一本科書並逐頁閱讀。

  8. 最後,我們使用mysqli_close()來關閉連接。永遠在用完後清理!

那你就有啦!你剛剛寫了你的第一個PHP腢本來與MySQL數據庫交互。難道不覺得很好?

記住,學習編程就像學習騎自行車一樣。一開始可能會顛簸,但隨著練習,你會很快馳騁。持續實驗,持續提問,最重要的是,持續編程!

在我們的下一課,我們將深入更複雜的查詢,並學習如何在數據庫中插入和更新數據。在那之前,祝願你們編程愉快,未來的數據庫大師們!

Credits: Image by storyset