2009-01-19 5 views
6

J'ai un problème de liaison booléens en utilisant mysqli_stmt :: bind_param en PHP5.PHP5 sqli bind_param problème avec les valeurs booléennes de liaison

La requête SQL est la suivante: (?,?,?,) Insérer dans nvp_notes valeurs (sujet, messageid, DateRéception, lire)

Où 'lire' est un tinyint, soit 0, soit 1, comme j'ai eu des problèmes avec bit en utilisant mysqli. Ainsi, les types que je liste dans bind_param sont:

$stmt->bind_param('sdsd', ...); 

J'ai aussi essayé « SDSB » et « fiches signalétiques », mais rien ne semble fonctionner, et je reçois toujours le message:

Warning: mysqli_stmt::bind_param(): Number of variables doesn't match number of parameters in prepared statement 

Lorsque Je supprime le champ de lecture dans la déclaration tout fonctionne bien. Je n'ai plus d'idées avec celui-ci. Sûrement bind_param fonctionne avec des booléens ??

Répondre

1

Merci pour la réponse, j'ai finalement réussi à résoudre le problème (après avoir essayé de lancer le type et même le quitter hors de bind_param en le fixant comme un 1 ou 0 dans la requête). Quoi qu'il en soit, 'read' est un nom de colonne réservé dans MySQL, donc j'ai juste changé le nom de la colonne et ça marche très bien. Il semble étrange de recevoir ce message d'erreur particulier cependant pour ce genre de problème.

0

Comme ce que vous devez lier est en fait un entier, je DEMARREZ le 'd' (double) par un 'i':

stmt- $> bind_param ('sisi', ...)

Questions connexes