Foros del Web » Programando para Internet » PHP »

problema if (!result)

Estas en el tema de problema if (!result) en el foro de PHP en Foros del Web. ola de nuevo yo aki molestandolos xD bueno esta ves mi problema esque no me funciona este script Código PHP: $result  =  mysql_query ( "SELECT id,votos,last,ip FROM votos WHERE id = '$cuenta' " ...
  #1 (permalink)  
Antiguo 09/08/2008, 13:11
 
Fecha de Ingreso: enero-2008
Mensajes: 46
Antigüedad: 16 años, 3 meses
Puntos: 0
problema if (!result)

ola
de nuevo yo aki molestandolos xD

bueno esta ves mi problema esque no me funciona este script

Código PHP:
$result mysql_query("SELECT id,votos,last,ip FROM votos WHERE id = '$cuenta' ");

if (!
$result)  
{
$query="INSERT INTO votos (id, votos, last, ip) VALUES ('$cuenta', 0, '0000-00-00 00:00:00', '0.0.0.0') ";
mysql_query($query);
}
else {
echo 
"<p>no funciono u.u</p>";

yo nesesito que funcione el inser into pero me sigue saliendo lo de else XD

podria alguien ayudarme plz ? ^^

thx and cya!
  #2 (permalink)  
Antiguo 09/08/2008, 13:16
Avatar de djsos  
Fecha de Ingreso: septiembre-2007
Ubicación: Madrid-España
Mensajes: 374
Antigüedad: 16 años, 7 meses
Puntos: 14
Respuesta: problema if (!result)

Si lo que quieres es comprobar si esta vacio el resulta usa la funcion isset()

tu codigo
Código PHP:
$result mysql_query("SELECT id,votos,last,ip FROM votos WHERE id = '$cuenta' ");

if (isset(
$result))  
{
$query="INSERT INTO votos (id, votos, last, ip) VALUES ('$cuenta', 0, '0000-00-00 00:00:00', '0.0.0.0') ";
mysql_query($query);
}
else {
echo 
"<p>no funciono u.u</p>";

saludos
  #3 (permalink)  
Antiguo 09/08/2008, 13:18
Avatar de djsos  
Fecha de Ingreso: septiembre-2007
Ubicación: Madrid-España
Mensajes: 374
Antigüedad: 16 años, 7 meses
Puntos: 14
Respuesta: problema if (!result)

Perdon creo que asi alomejor tampoco si pasa eso prueba esto
Código PHP:
$result mysql_query("SELECT id,votos,last,ip FROM votos WHERE id = '$cuenta' ");
$res mysql_fetch_array($result);
if (isset(
$res))  
{
$query="INSERT INTO votos (id, votos, last, ip) VALUES ('$cuenta', 0, '0000-00-00 00:00:00', '0.0.0.0') ";
mysql_query($query);
}
else {
echo 
"<p>no funciono u.u</p>";

  #4 (permalink)  
Antiguo 09/08/2008, 15:32
okram
Invitado
 
Mensajes: n/a
Puntos:
De acuerdo Respuesta: problema if (!result)

Cita:
Iniciado por knzo25 Ver Mensaje
yo nesesito que funcione el inser into pero me sigue saliendo lo de else XD
Así que te sale el else y te imprime "no funcionó" eh? Pues ese es justamente el problema. Va al else porque la consulta SI funcionó. Verás, mysql_query() devuelve un valor booleano (true o false), o un resource, dependiendo de si la consulta se ejecutó con éxito o no, lo cual no tiene nada que ver con el número de filas devueltas por la consulta. En tu caso, como la consulta es correcta, $result siempre va a ser true, y por eso se ejecuta tu else

Lo que tú necesitas es la función mysql_num_rows(), la cual sí te devuelve el número de filas que coinciden con la consulta que hiciste:

Código PHP:
$result mysql_query("SELECT id,votos,last,ip FROM votos WHERE id = '$cuenta' ");
 
if (
mysql_num_rows($result) < 1) {
    
$query="INSERT INTO votos (id, votos, last, ip) VALUES ('$cuenta', 0, '0000-00-00 00:00:00', '0.0.0.0') ";
    
mysql_query($query);
} else {
    echo 
"<p>no funciono u.u</p>";

Saludos,
  #5 (permalink)  
Antiguo 09/08/2008, 15:54
Avatar de djsos  
Fecha de Ingreso: septiembre-2007
Ubicación: Madrid-España
Mensajes: 374
Antigüedad: 16 años, 7 meses
Puntos: 14
Respuesta: problema if (!result)

La resuesta que yo di tambien funcionaria no?. Lo digo porque yo la tengo puesta en una páguina y creo k demomento no esta dando problemas. La funcion la conocia pero con num_rows ase de nuevo alguna conexion con mysql otra vez no?

Gracias saludos
  #6 (permalink)  
Antiguo 09/08/2008, 16:03
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema if (!result)

Claro que funciona, pero si quieres hablar de recursos... No es más lógico decir que mysql_num_rows() consume muchos menos que mysql_fetch_array()? Vamos, la diferencia es practicamente nula (hablamos de milésimas de segundo), pero... si la función está ahi justamente para eso (para saber cuántos resultados te va a dar X consulta), para qué complicarse con otras cosas?

Saludos,
  #7 (permalink)  
Antiguo 09/08/2008, 16:15
Avatar de djsos  
Fecha de Ingreso: septiembre-2007
Ubicación: Madrid-España
Mensajes: 374
Antigüedad: 16 años, 7 meses
Puntos: 14
Respuesta: problema if (!result)

en eso no habia caido gracias okram ;)
  #8 (permalink)  
Antiguo 10/08/2008, 07:58
 
Fecha de Ingreso: julio-2008
Ubicación: Hermosillo, Sonora
Mensajes: 95
Antigüedad: 15 años, 9 meses
Puntos: 3
Respuesta: problema if (!result)

En SQLServer hay una funcion que se llama @@rowcount() y creo que en MySQL el equivalente es mysql_num_rows(), que te ayudan a saber el número de registros regresados en la consulta, 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 21:43.