Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] ERROR: Fatal error: Call to a member function fetchAll() on non object

Estas en el tema de ERROR: Fatal error: Call to a member function fetchAll() on non object en el foro de PHP en Foros del Web. Que ocurre al código Código PHP: <?php try {      $bd  = new  PDO ( "localhost;dbname=u355977389_1" , "u355977389_1" , "123456" );      $bd -> query ( "SET NAMES 'utf8'" ...
  #1 (permalink)  
Antiguo 28/05/2015, 10:43
 
Fecha de Ingreso: abril-2015
Ubicación: Madrid
Mensajes: 14
Antigüedad: 9 años, 8 meses
Puntos: 0
ERROR: Fatal error: Call to a member function fetchAll() on non object

Que ocurre al código

Código PHP:
<?php
try {
    
$bd = new PDO("localhost;dbname=u355977389_1","u355977389_1","123456");
    
$bd->query("SET NAMES 'utf8'");
} catch (
Exception $e){
    echo 
"No se ha podido conectar";
    exit;
}
try{
    
$resultado=$bd->query("SELECT id, titulo, imagen FROM circuito ORDER BY id");
}catch(
Exception $e){
    echo 
"Error en consulta";
    exit;
}

$circuits $resultado->fetchAll(PDO::FETCH_ASSOC);
?>
ERROR: Fatal error: Call to a member function fetchAll() on a non-object on line 16


Muchas gracias por ayudar.
  #2 (permalink)  
Antiguo 28/05/2015, 10:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: ERROR: Fatal error: Call to a member function fetchAll() on non object

¿Qué driver de base de datos estás usando?

Lo digo porque no se ve que lo especifiques en el DSN.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 28/05/2015, 10:59
 
Fecha de Ingreso: abril-2015
Ubicación: Madrid
Mensajes: 14
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: ERROR: Fatal error: Call to a member function fetchAll() on non object

Fue que copié mal el código, mira este es el original:
<?php
try {
$bd = new PDO("mysql:host=localhost; dbname=u355977389_1","u355977389_1","123456");
$bd->query("SET NAMES 'utf8'");
} catch (Exception $e){
echo "No se ha podido conectar";
exit;
}
try{
$resultado=$bd->query("SELECT id, titulo, imagen FROM circuito ORDER BY id");
}catch(Exception $e){
echo "Error en consulta";
exit;
}

$circuits = $resultado->fetchAll(PDO::FETCH_ASSOC);
?>
  #4 (permalink)  
Antiguo 28/05/2015, 11:46
Avatar de Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 13 años, 7 meses
Puntos: 261
Respuesta: ERROR: Fatal error: Call to a member function fetchAll() on non object

Hola javibs,

Comprueba que los nombres son los que tienes en la base de datos.

Código MySQL:
Ver original
  1. SELECT id, titulo, imagen FROM circuito ORDER BY id

id es id
imagen es imagen
titulo es titulo
y la tabla es circuito

Saludos,
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight
  #5 (permalink)  
Antiguo 28/05/2015, 23:45
 
Fecha de Ingreso: abril-2015
Ubicación: Madrid
Mensajes: 14
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: ERROR: Fatal error: Call to a member function fetchAll() on non object

El problema era simplemente que la base de datos estaba mal puesta, pero no se por que no habra funcionado el catch...
  #6 (permalink)  
Antiguo 29/05/2015, 08:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: ERROR: Fatal error: Call to a member function fetchAll() on non object

Cita:
pero no se por que no habra funcionado el catch...
Porque una consulta hacia una tabla que no existe no necesariamente produce una excepción, vamos, es como hacer una consulta con un WHERE imposible de cuadrar.

Le consulta se ejecuta aunque no obtengas resultados.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: call, fatal, function, object, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:08.