Foros del Web » Programando para Internet » PHP »

Error en consulta

Estas en el tema de Error en consulta en el foro de PHP en Foros del Web. Hola que tal Tengo el siguiente inconveniente al efectuar una consulta, y me da error Warning: mysql_num_rows(): supplied argument is not a valid MySQL result ...
  #1 (permalink)  
Antiguo 17/01/2010, 20:04
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 18 años
Puntos: 0
Error en consulta

Hola que tal

Tengo el siguiente inconveniente al efectuar una consulta, y me da error

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/oportunidadglobal/og/includes/perfil.php on line 34

la consulta es la siguiente

31 <?php
32 $sql="SELECT activo,referido FROM og_afiliados WHERE activo=1 AND referido=$user";
33 $result = mysql_query($sql);
34 $filasDevueltas = mysql_num_rows($result);
35 ?>

La variable $user esta pasada por referencia $user=$_GET['user'];

Cualquier ayuda se agradece
__________________
Un Cordial Saludo
Claudio González Soto
Negocios Online
http;//www.servpcweb.com
  #2 (permalink)  
Antiguo 17/01/2010, 20:33
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Error en consulta

tu problema parece ser de php y no de base de datos.

si referido es tipo varchar, debe ir entre comillas.

Código PHP:
Ver original
  1. $sql="SELECT activo,referido FROM og_afiliados WHERE activo=1 AND referido='$user'";

Si es numerico, tu problema de seguro está en php.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 18/01/2010, 01:40
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: Error en consulta

Estoy totalmente de acuerdo con huesos52. Pregunta en el foro PHP pero informa también de la sintaxis de cualquier línea donde aparezca $filasdevueltas. Muchas veces condicionamos al valor de lo que devuelve mysql_num_rows y no nos damos cuenta de qué devuelve cuando no hay filas... Y comprueba también que la variable pasa un valor...

Última edición por jurena; 18/01/2010 a las 01:50
  #4 (permalink)  
Antiguo 18/01/2010, 06:54
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 18 años
Puntos: 0
Respuesta: Error en consulta

Gracias por las respuesta.

La verdad que sigue el mismo error aunque le puse las comillas simple y tambien prové con las dobles.

Por tanto voy a consultar en el Foro de PHP seguiré el consejo de jurena poniendo la otra fila donde utilizo $filasdevueltas.

Un Cordial saludo
__________________
Un Cordial Saludo
Claudio González Soto
Negocios Online
http;//www.servpcweb.com
  #5 (permalink)  
Antiguo 18/01/2010, 08:21
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Error en consulta

En ese caso, traslado el tema a la sección de PHP.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 18/01/2010, 08:39
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Respuesta: Error en consulta

Segun lo ya visto.. las comillas dobles no son la solucion.

Prueba una de estas cosas:

pon en cada consulta del WHERE:
Código PHP:
Ver original
  1. WHERE activo='1' AND referido='$user'"; //comillas tambien en el valor de ACTIVO

si no resulta, verifica con un echo:

Código PHP:
Ver original
  1. echo $user; // ve que trae
  2.  
  3. echo $filasdevueltas; // ve que trae

puede que no este pasando las variables o hayas escrito mal uno de tus campos en le consulta $sql

en vez de mysql_num_rows($result); porque no usas mysql_fetch_array

siempre es importante que en las pruebas pongas

Código PHP:
Ver original
  1. $result = mysql_query($sql, variable_conexion) or die(mysql_error()."<br />".$sql);

o algo asi.. lo que no vi fue tu conexion a la base de datos, y la ultima parte, servira solo en el modelo de prueba, al menos es mas preciso emitiendo errores..

comentanos como sigue, y si lanza de nuevo mensajes de error, y que dice
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Etiquetas: Ninguno
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:57.