我有一個PHP腳本:SELECT * FROM`users`只返回第一個用戶
$sql = $db->query("SELECT * FROM `users`");
$row = $sql->fetch();
foreach($row as $value){
echo $value . "<br>";
}
數據庫 '用戶' 包含29條記錄,但我發現了這一點:
我有一個PHP腳本:SELECT * FROM`users`只返回第一個用戶
$sql = $db->query("SELECT * FROM `users`");
$row = $sql->fetch();
foreach($row as $value){
echo $value . "<br>";
}
數據庫 '用戶' 包含29條記錄,但我發現了這一點:
mysql fetch()
函數從結果集中只讀取下一行1行,而mysql fetchAll()
函數返回一個包含所有結果集行的數組。
因此,使用fetchAll()
獲得從結果集的所有記錄,替換該行
$row = $sql->fetch();
與
$row = $sql->fetchAll();
這是因爲你只取一條記錄。
您可以嘗試這樣的代碼:
$sql = $db->query("SELECT * FROM `users`");
$row = $sql->fetchAll();
foreach($row as $value){
print_r($value);
echo "<br>";
}
這樣你會得到結果的數組,因此循環陣列上,而不是通過性能。
你使用什麼數據庫適配器? PDO/MySQLi? – Dale
我正在使用PDO適配器。 – Mikle
使用fetchAll()而不是fetch()。 –