ホームページ >バックエンド開発 >PHPチュートリアル >「mysqli_fetch_row()」を使用して MySQL 行をフェッチするときに空の配列を回避するにはどうすればよいですか?

「mysqli_fetch_row()」を使用して MySQL 行をフェッチするときに空の配列を回避するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-26 09:34:16914ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。