Problema php mysql variable

Mensajes
107
Puntuación de reacción
0
Buenas tardes,
tengo un problema que se me ha presentado en una web y que creo haberlo hecho siempre así y no darme problema, aún así pongo las partes del código a ver si alguno me dais alguna idea o algo que esté haciendo mal.
La conexión a la base datos:
PHP:
$query_cliente=mysql_query("SELECT * FROM usuario WHERE cliente='".$cliente."'",$conexion);

Ahora obtengo el dato:
PHP:
$activo= $clientebd['activo'];

Ahora más abajo pongo un if de que si es 1 pasa, sino no pasa:
PHP:
<?php if($activo==1){?>
Hay que decir que en la base de datos es un INT de 1 carácter que va a ser 1 o 0 y se ha probado a poner (INT) delante de la variable al obtenerla y un intval() por si acaso lo devolvía como string.
Cuando pongo en la variable en el php =1, sí que pasa, si pongo la obtención como arriba indico el resultado con un echo es =1 pero no pasa del if y no encuentro el porque.
A ver si alguien ve que estoy haciendo mal y me echa una mano.
Un saludo
 
Mensajes
115
Puntuación de reacción
0
Supongo que antes de acceder al dato haces:
PHP:
 $clientedb=mysql_fetch_array($query_cliente);

Si dentro de un if haces $activo=1 lo que el if evalua es si se ha podido realizar la asignación, por esto si que pasa.

A priori y con la información que facilitas, parace que está todo correcto, debe estar sucediendo algo en el código que no nos muestras.

Te aconsejo que compruebes que la consulta devuelve datos de la siguiente manera:

PHP:
 if(mysql_num_rows($query_cliente)>0){...}

También te aconsejo que utilices la extensión mysql mejorada mysqli orientada a objetos.

Otra forma de registrar si un usuario está activo es utilizar un tipo texto, introducir una cadena en el campo y al activar la cuenta borrarla, así para saber si el usuario está activo deberías hacer la siguiente comprobación:
PHP:
 if($clientedb["activo"]==""){...}
 
Última edición:
Mensajes
107
Puntuación de reacción
0
Muchas gracias compi por su respuesta, finalmente era un fallo de tontos que el get del cliente le estaba pasando uno erróneo y por eso me estaba volviendo loco y el codigo estaba bien jajaja, gracias ;)
 
Mensajes
107
Puntuación de reacción
0
no, el código que puse está correcto, fue un error mio en las pruebas al mandarle el get para que obtenga los datos
 

Xtargon

Piedra
Usuario de Piedra
Mensajes
39
Puntuación de reacción
0
misqli_query($conexion, "SELECT * FROM usuario WHERE cliente='".$cliente.")

De nada
 
Arriba