Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

error en query

Estas en el tema de error en query en el foro de Mysql en Foros del Web. Hola buenas a todos... llevo dos dias intentando que me salga una consulta SQL y no lo consigo. Estoy trabajando en joomla he depurado el ...
  #1 (permalink)  
Antiguo 20/07/2012, 19:25
 
Fecha de Ingreso: septiembre-2006
Mensajes: 116
Antigüedad: 17 años, 7 meses
Puntos: 1
error en query

Hola buenas a todos... llevo dos dias intentando que me salga una consulta SQL y no lo consigo.

Estoy trabajando en joomla he depurado el código y estoy segura que el flujo del programa pasa por las consultas, pero no me devuelven nada.

he probado de todo, dandole el valor en variables, a pelo y nada.. a ver si me pueden decir que estoy haciendo mal.
estas son las query

Código PHP:
$query"SELECT * FROM #__restaurantes WHERE ".constant("$vector[0]")."=".($v[$vector[0]]).";"
Código PHP:
$query="
SELECT *
FROM "
.$db->nameQuote('#__restaurantes')."
WHERE "
.$db->nameQuote('metro')."=".$db->quote($metro)."
AND "
.$db->nameQuote('zona'). "=".$db->quote($zona).";"
incluso asi
Código PHP:
$query"SELECT * FROM #__restaurantes WHERE metro=".$db->quote('sol').";"
y nada... que estoy haciendo mal.

Muchas gracias.
  #2 (permalink)  
Antiguo 21/07/2012, 06:39
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: error en query

Hay varios detalles a considerar:
- No queda claro si los campos que usas en el WHERE son numéricos, de fecha o de caracteres. Por la forma en que los usas deberían ser numéricos, ya que al no encerrar el dato proveniente de la variable con apóstrofos ('), si son de fecha o de caracteres pueden producir errores.
- Por otro lado, veo que estás usando el caracter numeral (#) como parte del nombre de la tabla. Al menos desde el punto de vista de MySQL (lo que sea PHP no es tema de este foro, y no todos manejamos PHP), es un error porque ese caracter se usa para definir comentarios o textos dentro de los scripts. Esto es: Todo lo que sigue en la misma línea, es como si no existiera.
- No veo que estés capturando los errores que devuelva MySQL o verificando qué es lo que queda realmente armado como consulta. Eso es lo PRIMERO que debes hacer, porque el que tu estés seguro que las variables vienen con datos, no implica que la consulta construida esté correctamente escrita, como podrás inferir de lo primero que te digo.

1) Revisa la sentencia que queda armada antes de enviarla a la base, cuando la cadena ya contenga los valores provenientes de las variables.
2) Captura los errores de MySQL (PHP, como cualquier lenguaje, tiene métodos para recuperar esa información, busca en el manual). Sin saber qué responde MySQL sólo podremos suponer.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: query, select, sql
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:16.