準備されたステートメントで MySQLSyntaxErrorException が発生するのはなぜですか?

Mary-Kate Olsen
リリース: 2024-11-01 08:25:02
オリジナル
803 人が閲覧しました

Why Am I Getting a MySQLSyntaxErrorException with My Prepared Statement?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!