no entiendo para que usas una variable de la clase (
$this->n), cuando solo necesitas una variable para construir el array a devolver, puede que ese sea el problema, que $this->n no exista:
Código PHP:
$n = Array(); //creamos el array local
while ($row = $stmt->fetch()){
$n[]=$row; //seteamos un nuevo elemento del array
}
return $n; //devolvemos el array
$this->dbh=null; // esta linea NUNCA se ejecutará, debe ir ANTES del Return
de igual forma, ¿no es mejor usar
fetchAll?:
http://www.php.net/manual/en/pdostatement.fetchall.php