Comprendre "Erreur de syntaxe à la fin de la saisie" dans PostgreSQL
Dans PostgreSQL, un message d'erreur "Erreur de syntaxe à la fin de la saisie" est souvent signale une divergence entre la syntaxe attendue et l’entrée reçue par l’analyseur. Voyons pourquoi cette erreur se produit dans votre cas spécifique :
Votre requête, qui utilise « ? » en tant qu'espace réservé de paramètre, est compatible avec MySQL mais pas avec PostgreSQL. Dans PostgreSQL, les instructions préparées utilisent « $1 », « $2 », etc. comme espaces réservés pour les paramètres. La modification de votre requête comme suit résoudra ce problème :
db.Query(`SELECT COUNT(*) as N FROM email WHERE address = `, email)
Cette modification garantit que la syntaxe de la requête adhère aux conventions de PostgreSQL.
Les messages d'erreur PostgreSQL peuvent en effet être énigmatiques, mais dans ce cas, le l'analyseur a mal interprété la fin de l'entrée comme une erreur de syntaxe en raison d'espaces réservés inappropriés. En alignant votre requête sur la syntaxe PostgreSQL, vous pouvez éviter cette erreur.
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!