首頁  >  文章  >  後端開發  >  如何在 PHP 中有效率地迭代 MySQLi 結果集?

如何在 PHP 中有效率地迭代 MySQLi 結果集?

DDD
DDD原創
2024-11-23 04:04:171023瀏覽

How to Efficiently Iterate Through MySQLi Result Sets in PHP?

迭代 MySQLi 結果集

在 PHP 中,可以使用 mysqli_query() 方法來迭代 MySQL 查詢的結果。

要循環遍歷查詢的結果集 select uid from userbase,您可以使用以下循環:

$output = mysqli_query($mysqli, "select uid from userbase");
foreach ($output as $row) {
    echo $row['uid'];
}

此循環將正確取得並顯示結果集中每一行的 uid 值。它利用 MySQLi 的物件導向語法,比過程式語法更簡潔、更有效率。

潛在錯誤

您在程式碼中遇到的錯誤可能是由於使用fetch_array() 以及產生包含索引鍵和關聯鍵(MYSQLI_BOTH) 的結果集的預設行為而導致。若要解決此問題,您可以使用 MYSQLI_ASSOC 或 MYSQLI_NUM 作為 fetch_array() 的第二個參數來指定所需的行為。

或者,您可以透過使用mysqli_query() 作為可迭代物件來完全避免使用fetch_array(),從而消除需要在每次迭代時調用fetch_array() row.

修正迭代

您提供的程式碼也包含不正確的迭代方案。 $i 變數應在循環內遞增,以存取結果集中從索引 0 開始的後續行。

因此,使用 fetch_array() 的正確迭代將是:

$i = 0;
$output = mysqli_query($mysqli, "select uid from userbase");
while ($row = $output->fetch_array(MYSQLI_ASSOC)) {
    echo $row['uid'];
    $i++;
}

以上是如何在 PHP 中有效率地迭代 MySQLi 結果集?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn