Ver Mensaje Individual
  #14 (permalink)  
Antiguo 21/07/2013, 10:52
Avatar de gnzsoloyo
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: Novato con POO: me salta error al hacer consultas

Cita:
Error: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
En el 99% de los casos con consultas SQL embebidas en PHP, el problema es del contenido de las variables, que o no llegan, o lo que llega es incorrecto o valores inválidos. Pero en tu caso eso es (como casi siempre) imposible de saber, porque no estás mirando lo que queda construido de SQL. Tu asumes que está bien, pero no lo verificas.
Tu construcción es así:
Código PHP:
Ver original
  1. $consulta = $db -> prepare(" SELECT id_pagina,titulo,orden FROM ". $this -> queryTable()."" );
  2. $consulta -> execute();

Pero como mínimo deberías hacer esto:
Código PHP:
Ver original
  1. $qry = " SELECT id_pagina,titulo,orden FROM ". $this -> queryTable();
  2. echo $qry;
  3. $consulta = $db -> prepare($qry);
  4. $consulta -> execute();

De ese modo al menos podrás ver qué es lo que se construye en esa variable, y por ende asegurarte por qué está generando un error de sintaxis. Esto desde el momento en que la sentencia en sí (sin considerar el nombre de la tabla), no contiene errores. Por lógica el error lo produce el valor de ese parámetro.

Verifica eso y veamos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)