注意: mysql_* 系列函數已於 PHP 7.0 移除,現代專案請改用 mysqli 或 PDO。本文僅供舊版程式碼維護參考。
array mysql_fetch_row ( resource $result )
$result 為 mysql_query() 成功返回的資源。FALSE。<?php
$host = 'localhost';
$user = 'abc';
$pass = '1234';
$dbname = 'w3db';
$conn = mysql_connect($host, $user, $pass);
if (!$conn) {
die('資料庫連線失敗: ' . mysql_error());
}
if (!mysql_select_db($dbname, $conn)) {
die('資料庫選擇失敗: ' . mysql_error());
}
$query = "SELECT ISBN, Title, Author FROM articles";
$result = mysql_query($query, $conn);
if (!$result) {
die('查詢失敗: ' . mysql_error());
}
while ($row = mysql_fetch_row($result)) {
// $row[0] = ISBN, $row[1] = Title, $row[2] = Author
echo "ISBN = {$row[0]}<br>";
echo "Title = {$row[1]}<br>";
echo "Author = {$row[2]}<br><br>";
}
mysql_free_result($result);
mysql_close($conn);
?>
mysql_fetch_row 僅返回數字索引,無法用欄位名稱存取(如 $row['ISBN'] 會報錯),原文範例有誤。mysql_free_result() 釋放記憶體。<?php
$mysqli = new mysqli('localhost', 'abc', '1234', 'w3db');
if ($mysqli->connect_errno) {
die('連線失敗: ' . $mysqli->connect_error);
}
$stmt = $mysqli->prepare("SELECT ISBN, Title, Author FROM articles");
$stmt->execute();
$stmt->bind_result($isbn, $title, $author);
while ($stmt->fetch()) {
echo "ISBN = $isbn<br>Title = $title<br>Author = $author<br><br>";
}
$stmt->close();
$mysqli->close();
?>
mysql_fetch_row 適合舊版 PHP 專案維護,新專案請改用 mysqli 或 PDO 以確保安全與相容性。希望本文對您的 PHP 程式設計有所幫助。