Foros del Web » Programando para Internet » PHP »

MySQL acepta BOOLs ? (desde PHP)

Estas en el tema de MySQL acepta BOOLs ? (desde PHP) en el foro de PHP en Foros del Web. Amigos: la pregunta la planteo aca porque el codigo.......con el que hago la "consulta" es en PHP ¿ MySQL acepta booleans ? solo me guarda ...
  #1 (permalink)  
Antiguo 02/02/2009, 14:40
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Pregunta MySQL acepta BOOLs ? (desde PHP)

Amigos: la pregunta la planteo aca porque el codigo.......con el que hago la "consulta" es en PHP

¿ MySQL acepta booleans ? solo me guarda el valor cuando es False.

NO me funciona (genera un boolean)

Código PHP:
$filtrado = ((is_xxx($q)) OR (is_warez($q))); 
SI me funciona (pone 0 o 1)

Cita:
if ((is_xxx($q)) OR (is_warez($q))) $filtrado =1; else $filtrado =0;
Aca la consulta:

Código PHP:
$con->execute ("INSERT INTO consultas (claves,veces,ip,hora,filtrado) VALUES('$qrep',1,'$ip','$hora',$filtrado) ON DUPLICATE KEY UPDATE veces = veces + 1;"); 
El campo filtrado es un tinyint(1) no-nulo con 0 como valor predeterminado

Gracias!!!
__________________
Salu2!
  #2 (permalink)  
Antiguo 02/02/2009, 14:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: MySQL acepta BOOLs ? (desde PHP)

Si el campo es tinyint, significa que es 0 o 1, por lo que si tu haces un cast directamente puedes saber el valor booleano de tu variable:

var_dump((bool) 1); // bool = TRUE
var_dump((bool) 0); // bool = FALSE

Por lo que si tu envias un 1 o 0 vas a tener ya tu solución, solamente verifica que valor es, y puedes hacer el inverso en PHP:

var_dump((int) true); // int 1
var_dump((int) false); // int 0

Saludos
  #3 (permalink)  
Antiguo 02/02/2009, 15:33
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: MySQL acepta BOOLs ? (desde PHP)

gracias amigo! lo chequearé!

El prblema pasa por MySQL que parece que no acepta "True" ... veré si con lo que me dices arrivo a alguna conclusion
__________________
Salu2!
  #4 (permalink)  
Antiguo 02/02/2009, 16:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: MySQL acepta BOOLs ? (desde PHP)

Pues cambia el tipo de campo a BOOL y ya le puedes pasar el valor TRUE o FALSE, ojo tiene que ser BOOL, y el valor tiene que ser TRUE o FALSE sin comillas, de lo contrario te daría error.

Saludos
  #5 (permalink)  
Antiguo 02/02/2009, 17:41
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: MySQL acepta BOOLs ? (desde PHP)

Cita:
Pues cambia el tipo de campo a BOOL y ya le puedes pasar el valor TRUE o FALSE
Es curioso...... pero cuando elijo "BOOL", me lo setea como tinyint(1)

Por suerte con el parche de pasarle 0 o 1 segun sea False/True (obviamente) si funciona
__________________
Salu2!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:58.