MySQL プリペアド ステートメント エラー: MySQLSyntaxErrorException
Java プログラミングでは、SQL ステートメントの構文に問題があると MySQLSyntaxErrorException がスローされます。 。このエラーが発生するシナリオの 1 つは、パラメータ化されたクエリでプリペアド ステートメントを使用する場合です。特定のケースを詳しく調べて解決策を提供しましょう。
指定されたコードには、ad_id に基づいて ads_tbl テーブルからデータを取得するための準備されたステートメントを使用する select ステートメントが含まれています。ただし、ステートメントの実行時にエラーが発生します。SQL 構文にエラーがあります。 「?」の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。これは、SQL ステートメントの構文に問題があることを示しています。
詳しく調べると、問題は次の行にあります。
<code class="java">rs = stmt.executeQuery(selectSQL);</code>
プリペアド ステートメントを実行する正しい方法SQL ステートメント自体を、executeQuery() の引数として省略することです。これは、プリペアド ステートメントがすでに適切なパラメータで設定されており、SQL ステートメントを使用せずにexecuteQuery() を呼び出すとプリペアド ステートメントが実行されるためです。
したがって、コードを次のように変更する必要があります。
<code class="java">rs = stmt.executeQuery();</code>
この変更を行うことで、準備されたステートメントを使用して SQL ステートメントが正しく実行され、エラーが解決されるはずです。
以上が準備されたステートメントで MySQLSyntaxErrorException が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。