Cita:
Iniciado por aguuuc
Código:
case 5: //alta animales
include $_SERVER["DOCUMENT_ROOT"]."/conecto/conexion.php";
$animalito=$_POST['texto_animal'];
if (!isset($_SESSION)) {
session_start();
}
$id_usuario = $_SESSION['id_usuario'];
$consulta= ("select * from tipo_cat_ani where id_usuario=$id_usuario and desc='$animalito'");
$var=mysql_query($consulta);
$fila=mysql_fetch_array($var);
$cantidad=mysql_num_rows($var);
if ($cantidad ==0) {
$nuevo_inv=("INSERT INTO tipo_cat_ani VALUES ('', $id_usuario, '$animalito')");
$cargo=mysql_query($nuevo_inv);
echo '<script language = javascript>
alert("Animal cargado con exito")
self.location = "../altas/carga_animales.php"
</script>';
}
else {
echo '<script language = javascript>
alert("El animal ya existe")
self.location = "../usuarios/pagina_usuario.php"
</script>';
}
break;
Tengo 1 tabla, tipo_cat_ani con los campos id_cat_ani, id_usuario, desc.. lo que quiero hacer es que al momento de cargar se fije si existe el usuario y el "animal"( desc), si existe me diga que existe y sino que lo cargue. funciona y carga, pero no me ejecuta la condicion, por mas que este lo carga igual.. espero me ayuden, soy nuevo en esto.. gracias
¿¿Sabes que mysql_num_rows puede devolver tambien FALSE cuando la funcion da error, y que FALSE puede ser evaluado igual a 0?? Por lo que puede que te este dando false y lo evalue igual 0.
Por eso, debes usar antes de la comparación de equivalencia o identico, otro if, o como veas algo así:
(!==) en vez de (!=).
Para saber si esta dando error o no. De la otra forma que tienes, siempre que de error va a decirte que no hay ninguno. Por eso debes comparar primero si te está dando error.
Al menos creo qe el error va por ahí.