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$consulta = $db -> prepare(" SELECT id_pagina,titulo,orden FROM ". $this -> queryTable()."" );
$consulta -> execute();
Pero como mínimo deberías hacer esto:
Código PHP:
Ver original$qry = " SELECT id_pagina,titulo,orden FROM ". $this -> queryTable();
echo $qry;
$consulta = $db -> prepare($qry);
$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.