首頁 >後端開發 >php教程 >使用 mysqli_fetch_row() 取得 MySQL 行時如何避免空數組?

使用 mysqli_fetch_row() 取得 MySQL 行時如何避免空數組?

Patricia Arquette
Patricia Arquette原創
2024-12-26 09:34:16917瀏覽

How to Avoid Empty Arrays When Fetching MySQL Rows Using `mysqli_fetch_row()`?

使用mysqli 從MySQL 結果物件檢索行

要從mysqli 結果物件取得所有行並建構一個新數組來保存它們,可以使用fetch_row() 方法。但是,解決可能導致傳回空數組而不是預期行的語法錯誤至關重要。

問題:

在提供的程式碼片段中, while 迴圈語句結尾有一個錯誤的分號:

while($row = $result->fetch_row());

此分號終止while 迴圈過早,導致迴圈內的程式碼無法執行。

解決方案:

要修正此問題,只需刪除分號即可正確執行循環:

while($row = $result->fetch_row()) {
    $rows[] = $row;
}

錯誤報告:

此外,建議請MySQLi報告遇到的任何問題:

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$sql = new mysqli($config['host'], $config['user'], $config['pass'], $config['db_name']);

$query = "SELECT domain FROM services";
$result = $sql->query($query);
$rows = [];
while($row = $result->fetch_row()) {
    $rows[] = $row;
}
return $rows;

透過遵循這些建議,您應該能夠成功擷取和儲存所有行來自 $rows 陣列中的結果物件。

以上是使用 mysqli_fetch_row() 取得 MySQL 行時如何避免空數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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