ホームページ >バックエンド開発 >PHPチュートリアル >「mysqli_fetch_row()」を使用して MySQL 行をフェッチするときに空の配列を回避するにはどうすればよいですか?
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 中国語 Web サイトの他の関連記事を参照してください。