PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

pg_query_params renvoie une erreur :le message de liaison fournit 2 paramètres, mais l'instruction préparée en nécessite 1

Les guillemets simples sont utilisés dans SQL pour les littéraux de chaîne. Cela signifie que ceci :

'$2'

est juste une chaîne qui contient les caractères $ et 2 plutôt qu'un espace réservé. Si vous voulez un espace réservé, vous devez omettre les guillemets :

$Query = pg_query_params($db, '...password=(crypt($2,password))...', array(33,'thepassword'));

Cela vous donne l'espace réservé plutôt que le littéral de chaîne.