使用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中文網其他相關文章!