sql >> Database >  >> RDS >> Mysql

Hoe krijg ik toegang tot mysqli-verbinding in een andere klas op een andere pagina?

Uw DBConnection klasse zou een extra methode nodig hebben:

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

Het lijkt erop dat uw oorspronkelijke User class was een subklasse van DBConnection , omdat mysqli eigenschap op DBConnection is protected en User klasse heeft een parent::__construct() bellen.

Het is beter om afhankelijkheidsinjectie te gebruiken, zodat uw User class ontvangt zijn databaseverbinding via de constructor:

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

Vervolgens kunt u vanuit uw code uitvoeren:

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



  1. Hoe het root-wachtwoord van MySQL of MariaDB in Linux te veranderen

  2. Hoe items per categorie tellen?

  3. PostgreSQL 12:Foreign Keys en gepartitioneerde tabellen

  4. Hoe array json_encode met Franse accenten?