MySQL是一種關系型數據庫管理系統,常被用于Web應用程序的后臺數據存儲。在PHP中,我們常常使用mysql_query函數來執行MySQL查詢語句。
$result = mysql_query("SELECT * FROM users WHERE age >20"); if (!$result) { die("查詢失敗:" . mysql_error()); } while ($row = mysql_fetch_array($result)) { echo $row['name'] . " 的年齡是 " . $row['age']; } mysql_free_result($result);
mysql_query函數可以執行SQL語句,返回查詢結果的資源句柄。如果查詢失敗,它會返回false值。我們可以使用mysql_error函數來獲取更詳細的錯誤信息。如果查詢成功,我們可以通過mysql_fetch_array函數來遍歷結果集中的每一行。mysql_fetch_array函數返回當前行的關聯數組和數字索引數組,我們可以根據鍵名或數字索引取得每個字段的值。最后,我們需要使用mysql_free_result函數來釋放查詢結果的資源句柄。
然而,需要注意的是,mysql_query函數在PHP 5.5.0版本已被廢棄,而且在PHP 7.0.0版本中已被移除。取而代之的是mysqli_query函數和PDO::query方法,它們提供了更好的性能、安全性和可移植性。
$mysqli = new mysqli("localhost", "root", "password", "mydb"); $result = $mysqli->query("SELECT * FROM users WHERE age >20"); if (!$result) { die("查詢失敗:" . $mysqli->error); } while ($row = $result->fetch_assoc()) { echo $row['name'] . " 的年齡是 " . $row['age']; } $result->free(); $mysqli->close();
在使用mysqli_query函數和PDO::query方法時,我們需要先連接數據庫。它們分別是mysqli擴展庫和PDO擴展庫提供的接口。首先,我們需要創建一個mysqli或PDO對象,并傳入連接所需的參數。然后,我們可以使用query方法執行SQL語句,返回結果集對象。我們可以使用if語句判斷執行結果是否為false,如果是,則使用對象的error屬性獲取更詳細的錯誤信息。如果查詢成功,我們可以使用fetch_assoc方法來遍歷結果集中的每一行,并返回關聯數組,從而取得每個字段的值。最后,我們需要調用free方法釋放結果集的內存空間,關閉MySQL連接。