mysql_* 系列函數自 PHP 5.5 棄用,PHP 7.0 移除。新項目請使用 mysqli 或 PDO。本文僅供維護舊代碼參考。
| 函數 | 返回類型 | 鍵名類型 | 參數 |
|---|---|---|---|
| mysql_fetch_array() | 陣列 | 關聯鍵 / 數字鍵 / 兩者兼有 | $result, $result_type (MYSQL_ASSOC/NUM/BOTH) |
| mysql_fetch_row() | 陣列 | 僅數字鍵 (0,1,2...) | $result |
$res = mysql_query("SELECT id, name FROM users");
// mysql_fetch_array 默認 MYSQL_BOTH
while ($row = mysql_fetch_array($res)) {
echo $row['id'] . ' ' . $row[0]; // 既可用關聯鍵也可用數字鍵
}
// mysql_fetch_row 僅數字鍵
while ($row = mysql_fetch_row($res)) {
echo $row[0] . ' ' . $row[1]; // 必須按列序訪問
}
mysql_fetch_array() 靈活,支援關聯訪問,代碼可讀性高。mysql_fetch_row() 輕量,僅數字索引,記憶體佔用略低。FALSE 表示無更多行。// mysqli 風格
$stmt = $mysqli->query("SELECT id, name FROM users");
while ($row = $stmt->fetch_assoc()) { // 關聯數組
echo $row['id'];
}
while ($row = $stmt->fetch_row()) { // 數字數組
echo $row[0];
}