Me hice un formulario sencillo, solamente con dos campos, un campo ID autoincremental y un campo nombre, solo como prueba, después de realizar una primera prueba exitosa al insertar un campo a la base de datos, quise listar los registros dentro de la misma con este código
Código PHP:
Ver original
<?php /*** mysql servidor ***/ $hostname = 'localhost'; /*** mysql usuario ***/ $username = 'root'; /*** mysql contraseña ***/ $password = ''; /*** mysql base de datos ***/ $dbname='prueba'; /*** ***/ $nombre=$_POST['nombre']; //echo $nombre; try { /*** Se crea el objeto PDO***/ $dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password); /*** imprime un mensaje diciendo que se ha conectado ***/ echo 'Conectado a la Base de datos'; /*** sentencia SQL ***/ $sql="insert into prueba (id,nombre) value ('','$nombre')"; /*** busca en una declaración al objeto PDO ***/ /*** numero de columnas ***/ echo $count; /*** sentencia SQL ***/ $esecuele="select * from prueba"; /*** busca en una declaración al objeto PDO ***/ /*** asigna el atributo para reportar errores ***/ $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); /*** numero de columnas ***/ $objeto = $sentencia->fetch(PDO::FETCH_OBJECT); /*** ciclo que recorreo el objeto ***/ echo $objeto->id.'<br />'; echo $objeto->nombre.'<br />'; /**** Se desconecta la conexion a la base de datos ****/ $dbh=null; } catch(PDOException $e) { echo $e->getMessage(); }
Obteniendo este grandioso mensaje
Código Error:
Ver original
Fatal error: Call to a member function fetch() on a non-object in \xampp\htdocs\ejemplo\ejemplo_pdo\analizar_formulario_ejemplo.php on line 33
Si, el mensaje dice "Llamada a miembro de la funcion fetch() en un no-objeto" y bla bla bla....
Pero si la funcion fetch no debería tener ningún error, por que aparece ese grandioso error?