Según la PHP manual, los cuatro tipos de variables para mysqli->bind_param
son¿Cómo pongo booleanos en una base de datos mysql con declaraciones preparadas?
- número entero,
- doble, de cadena
- y
- blob.
¿Cuál es la mejor manera de insertar un booleano?
Según la PHP manual, los cuatro tipos de variables para mysqli->bind_param
son¿Cómo pongo booleanos en una base de datos mysql con declaraciones preparadas?
¿Cuál es la mejor manera de insertar un booleano?
Mysql en realidad no almacenar booleanos de todos modos, que es un truco.
El formato real es TINYINT
, que supongo integer
para pdo.
Deberá convertir verdadero/falso a 1/0, con boolval
por ejemplo.
usar el booleano, poco o el valor binario en el tipo de campo:
BOOLEAN
BIT
BINARY
¿Podría explicar cómo hacerlo? En la página que vinculé, todas son referencias de una sola letra: b significa blob. – fdsa
¿Es posible poner un valor booleano php directamente en la declaración preparada, o tiene que convertirse? P.ej. $ test = false - ¿Puedo insertar la prueba como TINYINT o necesito convertir primero $ test a un int? – fdsa
buena pregunta, nunca lo intenté, lo siento, no puedo responder. – Sebas
PHP convierte booleanos en nada cuando intenta ponerlo en una cadena, por lo que no hará 1/0 como se esperaba. Simplemente haga $ booleanvar? 1: 0 en su llamada de preparación. –