1. ホーム
  2. マイスル

php query database appears: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, bool given in ....................パラメータ1がmysqli_resultであることを予期しています。

2022-02-22 21:21:20
<パス

phpでデータベースのデータを問い合わせると、以下のように表示されます。

 Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, bool given in .......

select * from table name;


<イグ
を使い始めたばかりなので

if (! $res) {
    printf("Error: %s\n", mysqli_error($conn));
    exit();
}


これで問題なかったのですが、コンストレイントを追加して問題が発生しました。しかし、何が問題なのかがわからなかった。
に簡単なコードを追加することで問題を特定できることが後に判明した。

Error: Unknown column 'Tongguan official' in 'where clause'


これは、どのようなエラーであったかを出力します。
クエリ文のエラーであり、mysqli_fetch_assoc パラメータの問題ではないことが判明しました。
私の疑問は

$sql="select * from duff where poetname=$searchpoetname";


ここで'Tongguan official'は私のテーブルのカラム名で、制約として使われ、変数$searchpoetnameを通して渡されます。
元のクエリ文は

$sql="select * from duff where poetname='$searchpoetname'";


解決方法は簡単で、変数を ' 'で囲むだけです。

$sql="select * from duff where poetname='$searchpoetname'";


これでクエリの結果は

こちらの記事を参考にさせていただいています。

https://www.cnblogs.com/cc18/p/6150335.html