Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/12/2011, 08:49
ILuzbel
 
Fecha de Ingreso: septiembre-2011
Mensajes: 106
Antigüedad: 13 años, 3 meses
Puntos: 19
Exclamación Error con foreach PDO

Hola a todos estoy intentando acceder a una noticia via get imprimiendo en la url la id de la noticia y el titulo.

en el index hice un enlace de este modo:

Código PHP:
<p><a href="noticia.php?id=<?php echo $d['id_notice']; ?>&title=<?php echo str_replace(" ""-"$d['title']); ?>"><?php echo $d['title']; ?></a></p>
he creado esta funcion

Código PHP:
    public function notice(){
        
self::set_names();
        
$sql="SELECT * FROM notices WHERE id=? AND title=?";
        
$stmt=$this->dbh->prepare($sql);
        if(
$stmt->execute(array($_GET["id"], $_GET["title"]))){
            while (
$row $stmt->fetch()){
                
$this->n[]=$row;
            }
            return 
$this->n;
            
$this->dbh=null;
        }
    } 
y la he llamado asi a noticia.php:

Código PHP:
$obj= new Work();
$datos=$obj->notice();

    <div id="body">
        <div id="wrapper">
        <?php
        
foreach ($datos as $d){
            
?>
        <p><?php echo $d['title']; ?></p>
        <?php
        
}
        
?>
        </div>
    </div>
    <div id="footer">
    </div>
El problema es que cuando entro en la noticia por ejemplo:

http://localhost/PDO/noticia.php?id=1&title=Lorem-Ipsum

me da este error

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\PDO\noticia.php on line 12

he leido que es porque la variable datos no es un array, pero no logro arreglarlo.

Alguien sabe como solucionarlo?

Gracias de antemano