Erreur d'instruction préparée MySQL : MySQLSyntaxErrorException
En programmation Java, l'exception MySQLSyntaxErrorException est levée lorsqu'il y a un problème avec la syntaxe d'une instruction SQL . Un scénario dans lequel cette erreur peut se produire est celui de l'utilisation d'instructions préparées avec des requêtes paramétrées. Examinons un cas spécifique et proposons une solution.
Le code donné contient une instruction select utilisant une instruction préparée pour récupérer les données de la table ads_tbl en fonction d'un ad_id. Cependant, une erreur est rencontrée lors de l'exécution de l'instruction : Vous avez une erreur dans votre syntaxe SQL ; consultez le manuel qui correspond à la version de votre serveur MySQL pour connaître la bonne syntaxe à utiliser près de « ? » à la ligne 1. Cela indique un problème avec la syntaxe de l'instruction SQL.
En y regardant de plus près, le problème réside dans la ligne :
<code class="java">rs = stmt.executeQuery(selectSQL);</code>
La manière correcte d'exécuter une instruction préparée consiste à omettre l'instruction SQL elle-même comme argument pour exécuterQuery(). En effet, l'instruction préparée a déjà été configurée avec les paramètres appropriés et l'appel d'executeQuery() sans instruction SQL exécutera l'instruction préparée.
Par conséquent, le code doit être modifié comme suit :
<code class="java">rs = stmt.executeQuery();</code>
En effectuant cette modification, l'instruction SQL sera exécutée correctement à l'aide de l'instruction préparée et l'erreur devrait être résolue.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!