PHP - Lectura de un boolean en mysql con php

 
Vista:
sin imagen de perfil
Val: 14
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

Lectura de un boolean en mysql con php

Publicado por Guillermo (12 intervenciones) el 02/12/2020 18:41:46
Buenas a todos!

Estoy empezando con PHP y me he encontrado con un muro que no encuentro en ningun lado como resolverlo...

tengo en BBDD un valor boolean o mejor dicho tinyint (mysql) , puedo modificarlo perfectamente desde PHP pero lo que me cuesta es el "if" previo en el cual quiero comprobar si el boolean viene a true o false por saber si tengo que modificarlo o no y enviar al usuario a una pagina u otra.

1
2
3
4
$checkuser = mysqli_query($conexion,"SELECT * FROM usuario WHERE Pass like '$ejemplo'");
while($consulta = mysqli_fetch_array($checkuser)){
    $primeracceso = ['primeracceso'];
}

Entiendo que con ese código guardo el valor del boolean en una variable y al intentar compararla en el if no logro nada... a ver si alguno me ilumina y me indica que hago mal , gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 85
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

Lectura de un boolean en mysql con php

Publicado por Cesar (29 intervenciones) el 02/12/2020 19:11:22
Hola.

TinyInt de MySql no es equivalente a boolean en PHP

El equivalente a boolean, es Bit. Tienes que modificar el tipo de dato, en tu base de datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 14
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

Lectura de un boolean en mysql con php

Publicado por Guillermo (12 intervenciones) el 02/12/2020 19:38:33
He porbado lo que dices pero sigo teniendo algo mal como he mencionado antes este es el codigo:

1
2
3
4
$checkuser = mysqli_query($conexion,"SELECT * FROM usuario WHERE Pass like '$ejemplo'");
while($consulta = mysqli_fetch_array($checkuser)){
$primeracceso = ['primeracceso'];
}

he modificado la columna de primeracceso a tipo BIT pero al hacer un echo $primeracceso me sale el mensaje "array"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Lectura de un boolean en mysql con php

Publicado por Mauro (1037 intervenciones) el 03/12/2020 15:37:45
Al usar esta sintaxis:

1
$primeracceso = ['primeracceso'];

Estás efectivamente creando un arreglo llamado $primeracceso cuyo único elemento es el string 'primeracceso'.

Lo que estás buscando es:

1
$primeracceso = $consulta['primeracceso'];
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 14
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

Lectura de un boolean en mysql con php

Publicado por Guillermo (12 intervenciones) el 03/12/2020 15:48:13
Correcto total

Me di cuenta ayer a media noche y no me había dado tiempo a corregirlo en el foro , se ve que llevaba pocas horas de sueño encima...

Muchas gracias por comentarlo de todas formas y dar la solución, una vez arreglado eso todas las lineas de código que tenia como prueba de distintos tipos de boolean ya sea el tinyint o el BIT han funcionado correctamente!

una vez mas gracias por darte cuenta , un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Lectura de un boolean en mysql con php

Publicado por Mauro (1037 intervenciones) el 04/12/2020 17:23:06
De nada amigo! Me alegra que lo hayas resuelto... y sí, las horas de sueño hacen la diferencia, jajaja
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar