ホームページ  >  記事  >  データベース  >  「警告: mysqli_query() はパラメーター 1 が mysqli であることを期待しています。リソースが指定されています」エラーが表示されるのはなぜですか?

「警告: mysqli_query() はパラメーター 1 が mysqli であることを期待しています。リソースが指定されています」エラーが表示されるのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-18 22:05:03908ブラウズ

Why am I getting the

mysqli_query() 警告: MySQL と MySQLi 拡張機能の混合

発生するエラー「警告: mysqli_query() はパラメータ 1 が次であることを期待しています」 mysqli、リソースが指定されました」は、mysqli_query() に使用される構文とそれに渡す接続オブジェクトのタイプが一致しないことを示します。

コード内で、mysql_connect() 関数を使用して接続を宣言しました。 、これは非推奨の mysql 拡張機能に属します。ただし、mysqli 拡張機能で動作する mysqli_query() 関数を使用しようとしています。

この問題を解決するには、コード全体で一貫して mysql または mysqli 拡張機能のいずれかを使用する必要があります。 mysqli 拡張機能よりも機能とセキュリティが向上しているため、mysqli を使用することをお勧めします。

必要な変更は次のとおりです。

// Use mysqli instead of mysql for the connection
$myConnection = mysqli_connect("$db_host", "$db_username", "$db_pass") or die ("could not connect to mysql"); 

// Use mysqli_select_db instead of mysql_select_db for database selection
mysqli_select_db($myConnection, "mrmagicadam") or die ("no database");   

さらに、mysql_fetch_array( のすべてのインスタンスを置き換えることもできます) ) mysqli_fetch_array($query) を使用します。この変更により、mysqli 結果オブジェクトからデータを取得するために正しい関数を使用できるようになります。

以上が「警告: mysqli_query() はパラメーター 1 が mysqli であることを期待しています。リソースが指定されています」エラーが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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