mas problemas php

Survivor

Tengo un problema con un archivo php , mi problema es el siguiente he creado un archivo llamado perfil.php para mostrar los datos de un usuario de forma que yo lo llamo atraves de un url por ejemplo perfil.php?id=1 y se supone que me tiene q mostrar los datos ya que lo use en otra web y si me funciono he cogido el mismo codigo y he modificado el localhost pass etc pero el problema llega cuando pongo la url del archivo por ejemplo perfil.php?id=1 me responde lo siguiente :

Warning: mysql_fetch_array(): supplied argument is
not a valid MySQL result resource in
/home/dr78/public_html/perfil.php on line 31

El script es el siguiente : www.dr78.com/problema.txt

A lo mejor es una tonteria pero no se me ocurre nada :D haber si podeis ayudarme

Gracias por contestar

cabron

No se mucho de PHP y MySQL así que a lo mejor me equivoco, pero creo que el problema está en el query que haces a la base de datos.

Debe dar algún error ( a lo mejor no existe el registro id, puede que tenga otro nombre), por eso $busqueda no contiene un identificador de recurso válido y no lo puedes usar con mysql_fetch_array()

Comprueba que el query a la bd funciona correctamente y no te da ningún error. Quita la @ de la función mysql_query( ) y así si hay algún error lo verás en pantalla.

Pero vamos, que ya te he dicho que no tengo mucha idea y a lo mejor no es eso.

Otra cosa, supongo que en este archivo que incluyes "db.php" estará el código que realiza la conexión a la base de datos y que lo hace de forma correcta, por que sin conexión a la base de datos el query no te va a funcionar de ninguna forma.

Abreu

Prueba asi:
mysql_query("SELECT * FROM usuarios WHERE id='$userid'");

Y si sigue sin ir escribe debajo de esa funcion el siguiente codigo:
echo mysql_error();
y dinos que error imprime.

Whose

mysql_query("SELECT * FROM usuarios WHERE id='$id'") or die(mysq_error());

Alperini

busqueda= mysql_query("SELECT * FROM usuarios WHERE id='$userid'");

estaba el error en lo negro

busqueda= @mysql_query("SELECT * FROM usuarios WHERE id=$userid");

BrOkeR

Alperini las soluciones que das no tienen sentido.
La consulta esta bien.

Yo tiraria mas por preguntar si $userid existe. Suena a problema de register globals. Supongo que $userid es un valor que pasa por url (metodo get) en cuyo caso prueba a sustituir $userid por $GET[userid] o $GET["userid"] en caso de que escapes del string.

Haznos saber el resultado por favor.

c2

Hombre asi mirandolo por encima yo diria que la variable que le pasas por url es $id y en el query haces una consulta utilizando $userid, que no se si existe.

:|

AntonRodin

Lo de mysql_query no era asi:

mysql_query('consulta sql','conectarse');

donde te faltaria 'conectarse' una variable o una funcion en su defecto, q te elige la base de datos.

Abreu

Apuesto por lo que dice broker, si la variable no existe dara error por no haber nada despues del =

AntonRodin esa variable es opcional por si se realiza mas de una conexion a la base de datos.

O

al ser id un campo numerico , no hacen falta las comillas segun se, asi que por las comillas no creo que sea.

ia nos diras =)

guner

usa `` en los nombres de las tablas y de los campos y '' en los valores de cadena, pero no en los numéricos.

Tb puedes ponernos el codigo a nosotros.
x cierto, $userid ... es una de las variables GET?? puede que no tengas activado register_globals, usa siempre $_GET[]

para saber el error que hago en las querys, lo que hago es ponerla en PHPMyAdmin para que me diga el error.

#8, si ya has conectado antes a la base de datos, al no encontrar un enlace a la base de datos en mysql_query() conecta con el último utilizado.

Survivor

Ya esta solucionado : error tonto como todos los que suelen pasar el error consistia en q la url yo la daba como:

perfil.php?id=26<

cuando tenia q poner :

perfil.php?userid=26

Error tonto tonto me di cuenta cambiando el codigo en otra pagina :D . Sorry

c2

Pos lo que te decía. Si es que la mayoría de errores cuando hablamos de php básico son de ese tipo, hay que releer todo mil veces.

Usuarios habituales

  • c2
  • Survivor
  • guner
  • Abreu
  • AntonRodin
  • Alperini
  • Whose