PHP を使用して Web アプリケーションを開発すると、さまざまな問題が発生することがよくあります。その中で、いくつかの一般的な問題は MySQL データベースに関連しています。問題の 1 つは、「PHP 警告: mysqli_query(): 空のクエリ」エラーです。この記事では、このエラーの原因と修正方法について説明します。
まず、このエラーの意味を見てみましょう。 mysqli_query 関数を使用して MySQL クエリを実行するとき、クエリが空の場合、このエラーが発生します。これは、MySQL クエリを実行しようとしたが、クエリ文字列が空であったことを意味します。たとえば、次のコードのクエリ文字列は空です:
$result = mysqli_query($conn, "");
このクエリを実行しようとすると、このエラーが発生します。これはさまざまな状況で発生する可能性があります。理由のいくつかを次に示します。
それでは、この問題をどうやって解決すればよいでしょうか?考えられる解決策は次のとおりです。
たとえば、次のクエリ文字列:
$sql = "SELECT * FROM myTable WHERE id = ";
$id 変数が定義されていない場合、クエリ 文字列は空です。 $id 値を追加するか、クエリ文字列を次のように変更する必要があります:
$sql = "SELECT * FROM myTable";
たとえば、次のコードは変数を使用してクエリ文字列を作成します。
$name = "Tom";
$sql = "SELECT * FROM myTable WHERE name = '$name '";
mysqli_real_escape_string 関数を使用して変数をエスケープできます。
$name = "Tom";
$name = mysqli_real_escape_string($conn, $name);
$ sql = "SELECT * FROM myTable WHERE name = '$name'";
これにより、$name に一重引用符または二重引用符が含まれている場合でも、クエリ文字列が空にならないことが保証されます。
概要:
mysqli_query 関数を使用して MySQL クエリを実行する場合、クエリ文字列が空の場合、「PHP 警告: mysqli_query(): 空のクエリ」というエラーが表示されます。これは、構文エラー、未定義の変数、または MySQL 接続エラーなどが原因である可能性があります。この問題を解決するには、クエリ文字列の構文エラーをチェックし、MySQL サーバーが実行中で正しく接続されていることを確認し、mysqli_real_escape_string 関数を使用して変数をエスケープし、クエリ文字列が空でないことを確認します。
以上がPHP 警告: mysqli_query(): 空のクエリの解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。