mysqli_fetch_all()によるエラー:パラメータ1はmysqli_resultを期待していますが、bool値が与えられました


  1. データベース接続を確認する: まず、mysqli_connect()関数を使用してデータベースに接続していることを確認してください。接続が正常に確立されていない場合、mysqli_query()関数がbool値を返す可能性があります。

  2. クエリの実行を確認する: mysqli_query()関数を使用してクエリを実行する前に、クエリの文法と正確性を確認してください。誤ったクエリが実行された場合、mysqli_query()関数はbool値を返すことがあります。

  3. エラーハンドリングを追加する: mysqli_query()関数の後に、以下のようなエラーハンドリングコードを追加してください。

if (!$result) {
    die('クエリエラー: ' . mysqli_error($connection));
}

これにより、クエリの実行中にエラーが発生した場合にエラーメッセージが表示されます。

  1. 結果セットを確認する: mysqli_query()関数が成功した場合、mysqli_fetch_all()関数を使用して結果セットを取得する前に、結果セットが空でないことを確認してください。
if (mysqli_num_rows($result) > 0) {
    // 結果セットが存在する場合の処理
    $rows = mysqli_fetch_all($result, MYSQLI_ASSOC);
} else {
    // 結果セットが空の場合の処理
    echo '結果セットがありません。';
}

上記のコードを使用すると、結果セットが空でない場合にデータを取得し、それ以外の場合には適切なメッセージを表示します。

これらの手順を実行することで、mysqli_fetch_all()関数のエラーを解決できるはずです。また、エラーメッセージに関連するコード例も示しましたので、参考にしてください。