Cita:
Iniciado por trevol Hola amigos, pués resulta que estoy desarrollando una web y lo primero que hago es elaborar una clase para conexión pero algo no debo entender bién que me da el error:
Código PHP:
Ver originalerror: Call to a member function query() on null
Os dejo el código haber si alguno ve el fallo.
Código PHP:
//Esta es la clase conectar
class Conectar {
public static function conexion () {
try{
$base = new PDO ('mysql:host=localhost; dbname=perfume', 'root', '');
//defino los atributos
$base->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//incluyo caracteres
$base->exec("SET CHARACTER SET utf8");
} catch(Exception $e){
die("error yo".$e->getMessage());
}
}
}
// y aquí creo mi objeto y trato de hacer una consulta a la base de datos para que me //la muestre
$sql="select * from genero ";
$bd=Conectar::conexion();
$resultados=$bd->query($sql);
$filas = array();
while($registros=$resultados->fetch(PDO::FETCH_ASSOC)){
$matriz[]=$registros;
}
foreach($matriz as $filas){
echo $filas['idgenero'].$filas['genero'];
}
Te falta retornar el objeto PDO que creaste:
Código PHP:
//Esta es la clase conectar
class Conectar {
public static function conexion () {
try{
$base = new PDO ('mysql:host=localhost; dbname=perfume', 'root', '');
//defino los atributos
$base->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//incluyo caracteres
$base->exec("SET CHARACTER SET utf8");
return $base;
} catch(Exception $e){
die("error yo".$e->getMessage());
}
}
}
// y aquí creo mi objeto y trato de hacer una consulta a la base de datos para que me //la muestre
$sql="select * from genero ";
$bd=Conectar::conexion();
$resultados=$bd->query($sql);
$filas = array();
while($registros=$resultados->fetch(PDO::FETCH_ASSOC)){
$matriz[]=$registros;
}
foreach($matriz as $filas){
echo $filas['idgenero'].$filas['genero'];
}