Ver Mensaje Individual
  #10 (permalink)  
Antiguo 21/07/2013, 06:19
PSPforever
 
Fecha de Ingreso: marzo-2008
Mensajes: 186
Antigüedad: 16 años, 1 mes
Puntos: 3
Pregunta Respuesta: Novato con POO: me salta error al hacer consultas

Nuevamente gracias, he solucionado lo del bucle. Y por último, pregunto sobre otro fallo:

Código PHP:
Ver original
  1. <?php
  2.  
  3. require("../cgi-bin/conn.inc.php");
  4.  
  5. class paginasModelo
  6. {
  7.  
  8.     public $paginas;
  9.     public $nameTable;
  10.  
  11.     public function queryTable($qTable)
  12.     {
  13.         $this -> nameTable = $qTable;
  14.         //return $this -> nameTable;
  15.     }
  16.  
  17.     public function consultaPaginas($db)
  18.     {
  19.         try{
  20.  
  21.             $db -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  22.             $consulta = $db -> prepare(" SELECT id_pagina,titulo,orden FROM ". $this -> queryTable()."" );
  23.             $consulta -> execute();
  24.             $this -> paginas = $consulta -> fetchAll();
  25.             //return $this -> paginas; 
  26.  
  27.         } catch(PDOException $e) {
  28.  
  29.             echo "Error: ".$e -> getMessage();
  30.  
  31.         }
  32.     }
  33.  
  34. }
  35.  
  36. $pag = new PaginasModelo();
  37. $pag -> consultaPaginas( $con -> db );
  38. $pag -> queryTable("paginas");
  39.  
  40. foreach($pag -> paginas as $pagi){
  41.     extract($pagi);
  42.     echo $id_pagina.$titulo.$orden;    
  43. }
  44.  
  45. ?>

En pantalla me salta el mensaje de error:

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

Pero no entiendo porqué. La sintaxis creo que es correcta y está bien concatenado.

El problema está en la línea 22 que creo el SELECT y escribo $this -> queryTable()