Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie greife ich auf eine mysqli-Verbindung in einer anderen Klasse auf einer anderen Seite zu?

Ihre DBConnection Klasse würde eine zusätzliche Methode benötigen:

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

Es scheint, dass Ihr ursprünglicher User Klasse war eine Unterklasse von DBConnection , weil mysqli Eigenschaft auf DBConnection ist protected und User Klasse hat ein parent::__construct() anrufen.

Es ist besser, Abhängigkeitsinjektion zu verwenden, also Ihr User Die Klasse erhält ihre Datenbankverbindung über den Konstruktor:

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

Dann können Sie von Ihrem Code aus Folgendes ausführen:

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