Por medio de uso de $_SESSION guardo un objeto que que se conecta a la base de datos, ello con el fin de mantener mantener conexión a la base de datos mientras el usuario se encuentre inciado sesión.
Cuando mando a llamar a la base de datos desde otro script PHP me manda mysqli_query(): Couldn't fetch mysqli.
Agradecería mucha su ayuda.
Aca el codigo:
login.php
$db = new DataBase();
$user = array(
"nombre"=>"Juan",
"id" => "123456"
);
$_SESSION["usr"] = array(
"nombre" => $usr["nombre"],
"id" => $usr["id"],
"db" => serialize($db)
);
myArticles.php
session_start();
$db = unserialize($_SESSION["usr"]["db"]);
$art = $db->getAllArticlesView($_SESSION["usr"]["id"]);
DabaBase.php
class DataBase(){
...
function getAllArticlesView($userId){
if($this->erroDB) return false;
//Se obtienen todos los articulos
$consulta = "SELECT titulo, categoria, fecha, img_describe FROM articulo WHERE id = '{$userId}'; ";
$respuesta = mysqli_query($this->conexion, $consulta);
if($respuesta == false) return false;
$respuesta = mysqli_fetch_all($respuesta);
return $respuesta;
}
...
}
Cuando mando a llamar a getAllArticles() me sale Warning: mysqli_query(): Couldn't fetch mysqli cuando el método llega a la línea donde manda a llamar a la función mysqli_query()
Tal vez la lógica que uso no sea la correcta, quería evitar estar creando y cerrando conexón con la base datos por cada escript que se conecte a la base de datos. Agradecería mucho sus comentarios al respecto de ésto.