MySQL - PHP 語法:初學者指南
你好,未來的編程超新星!我很興奮能成為您踏進MySQL和PHP世界的引路人。作為一個教了多年計算機科學的人,我可以告訴你,這對組合就像花生醬和果醬一樣——它們就是完美地搭配在一起!那麼,讓我們一起潛入MySQL-PHP語法的神秘之中。
PHP MySQLi 函式庫:數據庫魔法的入口
在我們開始像有經驗的程序员一樣拋出代碼之前,讓我們先來了解一下PHP MySQLi函式庫。把它當作PHP用來與MySQL數據庫通信的特別工具包。它就像是PHP和MySQL之間的通用翻譯器,讓它們能夠完美理解對方。
MySQLi擴展(其中的'i'代表'改進')是一個強大的工具,提供了一系列與MySQL數據庫交互的函式。它設計用於充分利用MySQL 4.1.3及之後版本的新特性。
為什麼使用MySQLi?
你可能會想,"我為什麼要在乎MySQLi?" 好奇的朋友,MySQLi有許多優勢:
- 面向對象的接口
- 支持預處理語句
- 支持多語句執行
- 支持交易
- 增強的調試功能
相信我,這些特性會讓你在編程旅程中生活得更輕鬆!
如何安裝MySQLi:設置你的工作臺
現在,讓我們動手設置MySQLi。別擔心;這比組裝宜家家具還要簡單!
Windows用戶:
- 打開你的PHP配置文件(php.ini)
- 找到行
extension=mysqli
並刪除開頭的半角符號 - 保存文件並重新啟動你的網絡服務器
Mac/Linux用戶:
很可能,MySQLi已經默認啟用了。如果沒有,按照以下步驟操作:
- 打開終端
- 執行
php -m | grep mysqli
- 如果輸出中沒有看到'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);
?>
現在,讓我們分解這個腢本:
-
首先,我們設置我們的數據庫連接詳情。這就像是在信封上寫地址——我們需要知道我們要把信息發送到哪裡!
-
我們使用
mysqli_connect()
來建立到數據庫的連接。這就像是在撥打一個電話號碼來給你的數據庫打电话。 -
我們檢查連接是否成功。如果不成功,我們使用
die()
來停止腢本並顯示錯誤信息。總是有一個備用計劃是好的! -
我們編寫我們的SQL查詢。這就像是在問數據庫一個問題:"你能給我所有用戶的id、firstname和lastname嗎?"
-
我們使用
mysqli_query()
來將這個問題發送到數據庫。 -
我們使用
mysqli_num_rows()
來檢查我們是否得到了任何結果。 -
如果我們有結果,我們使用一個while循環和
mysqli_fetch_assoc()
來逐行查看結果。這就像是在打開一本科書並逐頁閱讀。 -
最後,我們使用
mysqli_close()
來關閉連接。永遠在用完後清理!
那你就有啦!你剛剛寫了你的第一個PHP腢本來與MySQL數據庫交互。難道不覺得很好?
記住,學習編程就像學習騎自行車一樣。一開始可能會顛簸,但隨著練習,你會很快馳騁。持續實驗,持續提問,最重要的是,持續編程!
在我們的下一課,我們將深入更複雜的查詢,並學習如何在數據庫中插入和更新數據。在那之前,祝願你們編程愉快,未來的數據庫大師們!
Credits: Image by storyset