Foros del Web » Programando para Internet » PHP »

Problemas con Array dentro de consulta.

Estas en el tema de Problemas con Array dentro de consulta. en el foro de PHP en Foros del Web. Q tal amigos, Pues tengo un problema, que no entiendo muy bien la razon (espero me la expliquen ). Pues estoy usando sesiones, de esta ...
  #1 (permalink)  
Antiguo 19/10/2006, 12:13
Avatar de Celcius  
Fecha de Ingreso: febrero-2003
Ubicación: Lima - Perú
Mensajes: 652
Antigüedad: 21 años, 1 mes
Puntos: 5
Problemas con Array dentro de consulta.

Q tal amigos,
Pues tengo un problema, que no entiendo muy bien la razon (espero me la expliquen ). Pues estoy usando sesiones, de esta manera:

Código PHP:
session_start();
.
.
.
$_SESSION['categoria_id'] = $_GET["id"];
.
.
.
$query mysql_query("SELECT nombre FROM categoria WHERE id=''"$_SESSION['categoria_id'] ."' limit 0,1");
$data mysql_fetch_assoc($query); 
Bueno definitivamente el error esta en la consulta, pero no se cual pueda ser una variante... es decir, ¿deberia funcionar no? porque no lo hace. me bota este error:

Código PHP:
Warningmysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in c:appservwwwglobalresponderdetallecat.php 
Espero se me haya entendido, cualquier ayuda es bien recibida. muchas gracias!
__________________
"Si tú conocieras el don de Dios, y quién es el que te dice: 'Dame de beber,' tú Le habrías pedido a El, y El te hubiera dado agua viva.
Sn. Juan 4:19
Jesus
  #2 (permalink)  
Antiguo 19/10/2006, 12:24
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
Prueba

Código PHP:
<?php

session_start
();
.
.
.
$_SESSION['categoria_id'] = $_GET["id"];
.
.
.
$query mysql_query("SELECT nombre FROM categoria WHERE id='"$_SESSION['categoria_id'] ."' limit 0,1");
$data mysql_fetch_assoc($query);  
?>
Te sobraba una comilla simple. Ahora, si id es un campo de tipo numerico debes quitar las comillas simples.
  #3 (permalink)  
Antiguo 19/10/2006, 12:26
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 8 meses
Puntos: 0
Cita:
$query = mysql_query("SELECT nombre FROM categoria WHERE id=''". $_SESSION['categoria_id'] ."' limit 0,1");
Fíjate bien en la consulta. Comillas simples. Primero, si pones 2 comillas simples antes de pasar el argumento lo pasas como vacio. Luego, en el caso de q id sea un campo numérico no se deben usar comillas simples para pasar los argumentos y la consulta debería ser tal q así:

Código PHP:
$query mysql_query("SELECT nombre FROM categoria WHERE id="$_SESSION['categoria_id'] ." limit 0,1"); 
Y si el campo id no es numnérico pues te sobra una de las 2 comillas simples después de id=

Saludos.

P.D.: Llegué bien tarde...
__________________
La muerte es un camino que todos debemos recorrer...

Última edición por djreficul; 19/10/2006 a las 12:27 Razón: Se me adelantaron
  #4 (permalink)  
Antiguo 19/10/2006, 12:44
Avatar de Celcius  
Fecha de Ingreso: febrero-2003
Ubicación: Lima - Perú
Mensajes: 652
Antigüedad: 21 años, 1 mes
Puntos: 5
Hey amigos muchas gracias a los dos, excelente explicacion djreficul, ya lo solucioné, no sabia eso de las comillas simples y los campos numericos... gracias!
__________________
"Si tú conocieras el don de Dios, y quién es el que te dice: 'Dame de beber,' tú Le habrías pedido a El, y El te hubiera dado agua viva.
Sn. Juan 4:19
Jesus
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 03:28.