Foros del Web » Programando para Internet » PHP »

El SELECT arroja 1 resultado. Donde va a parar?

Estas en el tema de El SELECT arroja 1 resultado. Donde va a parar? en el foro de PHP en Foros del Web. El tema es el siguiente: hago un select a una base de datos, para que me encuentre un solo campo y un solo registro. Despues, ...
  #1 (permalink)  
Antiguo 30/12/2002, 15:37
 
Fecha de Ingreso: junio-2002
Mensajes: 126
Antigüedad: 15 años, 5 meses
Puntos: 0
El SELECT arroja 1 resultado. Donde va a parar?

El tema es el siguiente:

hago un select a una base de datos, para que me encuentre un solo campo y un solo registro. Despues, lo paso a un fetch_array o a un fetch_row aunque sea uno solo? Porque no me funciona....

El select es:

$categ= mysql_query ("SELECT * FROM categoria WHERE categoria=".$categoria." order by categoria");

(otra duda:tuve que poner el order by porque no sabia como cerrar las " del select......)


Y despues hago esto:????

$categoriabd= mysql_fetch_array($categ);


El error que me tira es:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Inetpub\wwwroot\PHP Prueba\prueba.php on line 11

(Obviamente, no tengo mucha idea, recien estoy empezando)
  #2 (permalink)  
Antiguo 30/12/2002, 15:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Usa comilas simples a la hora de usar variables PHP en sentencias SQL tipo:

Código PHP:
$categmysql_query ("SELECT categoria_nombre FROM categoria WHERE categoria='$categoria'"); 
(suponemos q buscas solo el campo categoria_nombre o el nombre que tenga? .. o alguno mas . .si es así no uses * q implican a todos los de la tabla "categoria"

Si luego quieres hacer esto:
$categoriabd= mysql_fetch_array($categ);

para acceder tipo:
echo $categoriabd['categoria_nombre'];

Lo puedes hacer .. aunque tambien puedes usar:
$categoriabd=mysql_result($categ,'categoria_nombre ',0);

(sin el mysql_fetch_xxx )

Un saludo,
  #3 (permalink)  
Antiguo 30/12/2002, 16:00
Avatar de e-miliox  
Fecha de Ingreso: noviembre-2002
Ubicación: San Antonio - Chile
Mensajes: 223
Antigüedad: 15 años, 1 mes
Puntos: 7
probablemente tienes un problema en la consulta, prueba poner mensajes de error en caso de que fallen tus consultas, quizas puedas resolver tu problema o por lo menos dar una pista mas concreta...

$categ= mysql_query ("SELECT * FROM categoria WHERE categoria=".$categoria." order by categoria");

a ver, puedes hacer la consulta de esta manera, es conveniente que califiques los campos de la tabla, aunque sea una sola,de esta manera te resultamas facil leer la consulta despues, y en cuanto a si puedes cerrar la consulta inmediatamente, pues si, no es necesario el order by en este caso, y ahora que me doy cuenta tal vez tu problema esta en que no pones comillas simples a ambos lados de las variable categoria..mira asi quedaria la consulta

$result = mysql_query("Select * From tabla_categoria Where tabla_categoria.categoria = '".$categoria."' ") or die ('La consulta ha fallado '.mysql_error());

fijate que puse comillas simples y lo que te decia sobre poner un mensaje de error en caso de que la colsuta falle. Espero que te sirva.

Saludos
__________________
=PoWeReD By MySeLf!=
  #4 (permalink)  
Antiguo 30/12/2002, 16:22
 
Fecha de Ingreso: junio-2002
Mensajes: 126
Antigüedad: 15 años, 5 meses
Puntos: 0
Gracias CLuster, probe como me dijiste y arregle todo.

Emiliox, me gusto es OR DIE, lo voy a implementar, asi me doy cuenta que falla. Gracias.
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 08:18.