它們是mysqli_result的兩個函數。什麼是最好的使用,fetch_array(MYSQLI_ASSOC)或fetch_all(MYSQLI_ASSOC)?
- fetch_array():獲取結果行。
這樣,查詢每一行到數據庫?
- fetch_all():獲取所有結果行。
而這樣,只查詢一次到數據庫?
我不知道如何以最好的方式和最有效的方式來做到這一點。
穿戴例子:
1.-fetch_array():
$resultUsers = getAllUsers($db);
while($row = $resultUsers->fetch_array()){
echo $row['name'];
}
2.- fetch_all():
$resultUsers = getAllUsers($db);
foreach ($resultUsers->fetch_all(MYSQLI_ASSOC) as $value) {
echo $value['name'] . "<br>";
}
2.A.-
foreach (getAllUser($db)->fetch_all(MYSQLI_ASSOC) as $value) {
echo $value['name'] . "<br>";
}
如果有更好的方法來做到這一點,我希望你的幫助。
不,在兩種情況下查詢都只針對數據庫運行一次;取指針對查詢中的結果集起作用;並且通常'fetch_all()'對於大型結果集非常需要內存,因此不應該使用 –