mysqli_stmt_bind_param mysqli_stmt method float bind_param array php mysqli boolean prepared-statement

php - method - mysqli_stmt_bind_param integer



Problema bind_param de PHP5 sqli con enlaces de valores booleanos (3)

Gracias por la respuesta, finalmente logré solucionar el problema (después de probar el tipo de conversión e incluso de dejarlo fuera de bind_param al arreglarlo como un 1 o 0 en la consulta). De todos modos, ''leer'' es un nombre de columna reservado en MySQL, así que simplemente cambié el nombre de la columna y funciona bien. Parece extraño recibir ese mensaje de error en particular, sin embargo, para este tipo de problema.

Tengo un problema al vincular booleanos usando mysqli_stmt :: bind_param en PHP5.

La consulta SQL es la siguiente: insertar en nvp_notes (subject, messageid, receivedate, read) (?,?,?,?)

Donde ''leer'' es una letra minúscula, 0 o 1, ya que he tenido problemas con Bit usando mysqli. Entonces, los tipos que listamos en bind_param son:

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

También probé ''sdsb'' y ''sdss'', pero parece que nada funciona, y siempre recibo el mensaje:

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

Cuando elimino el campo de lectura en la declaración todo funciona bien. Me he quedado sin ideas con este. Seguramente bind_param funciona con booleanos ??


Puede convertir el valor booleano en 1 o 0 usando intval () (o convertirlo en (int) o (entero) ). Según la documentación de mysqli_stmt :: bind_param () , los únicos tipos que puede vincular son ints, dobles, cadenas y blobs.


Como lo que debes unir es un Entero, yo cambiaría la ''d'' (doble) por ''yo''

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