Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment accéder à la connexion mysqli dans une autre classe sur une autre page ?

Votre DBConnection la classe aurait besoin d'une méthode supplémentaire :

public function getLink()
{
    return $this->mysqli;
}

Il semble que votre User d'origine la classe était une sous-classe de DBConnection , car mysqli propriété sur DBConnection est protected et User la classe a un parent::__construct() appeler.

Il est préférable d'utiliser l'injection de dépendances, donc votre User la classe recevra sa connexion à la base de données via le constructeur :

public function __construct(DBConnection $db)
{
    $this->mysqli = $db->getLink();
}

Ensuite, à partir de votre code, vous pouvez exécuter :

$db = new DBConnection;
$uObj = new User($db);