Tengo este error:
Fatal error: Call to a member function prepare() on a non-object in /var/www/op/DatosLibros.php on line 35
DatosLibros.php
<?php
class DatosLibros
{
private $cadenaConexion;
private $user;
private $password;
private $objetoConexion;
public function __construct($cadenaConexion,$user,$password)
{
$this->cadenaConexion=$cadenaConexion;
$this->user=$user;
$this->password=$password;
}
public function conectar ()
{
try
{
$this->objetoConexion= new PDO ($this->cadenaConexion,$this->user,$this->password);
$this->objetoConexion->setAttribute(PDO::ATTR_EARMODE,PDO::EARMODE_EXCEPTION);
}
catch (PDOException $ex)
{
echo "Se ha presentado un problema a la hora de conectar con la base de datos";
}
}
public function desconectar ()
{
$this->objetoConexion=null;
}
public function ejecutar ($strComando)
{
try
{
$ejecutar = $this->objetoConexion->prepare($strComando);
$ejecutar->execute();
$rows= $ejecutar->fetchAll();
}
catch (PDOException $ex)
{
throw $ex;
}
}
}
?>
Esta es la linea del error
$ejecutar = $this->objetoConexion->prepare($strComando);
objetoconexion no esta declarado..
Comprueba que se inicia bien al llamar a conectar y que no llamas a desconectar
Saludos
Cita de: @drvy en 29 Octubre 2013, 23:33 PM
objetoconexion no esta declarado..
Comprueba que se inicia bien al llamar a conectar y que no llamas a desconectar
Saludos
drvy tiene razón, pero corrijo una cosa:
está declarado en la linea 7 como un miembro privado de la clase drvy, en realidad lo que está tirando el error fatal es porque en dicha variable NO hay un objeto, si bien la variable está declarada, no tiene el objeto, esto puede ocurrir porque no estás llamando a la función conectar.
revisa el contenido de $objetoconexion con un var_dump();
en otras palabras, la variable está declarada, pero no está definida, como dice drvy revisa si estás llamando a esa función y sino revisa que es lo que tiene la variable con el var_dump
saludos!
jajaj en realidad eso es lo que queria decir.. pero vi mas facil el decir que no esta declarada xD
De todos modos el error lo dice todo: Error fatal: Llamada a funcion miembro prepare() sobre un no-objeto en...
Saludos