MySQLi aus einer anderen Klasse in PHP verwenden
Problembeschreibung:
Die Frage sucht nach Hilfe beim Zugriff auf eine MySQLi-Verbindung, die in einer separaten Klasse von einer anderen Klasse aus hergestellt wurde. Eine Datenbankklasse mit einer Verbindungseigenschaft wird erstellt und eine API-Klasse versucht, auf diese Verbindung zuzugreifen. Versuche, auf die Verbindung zuzugreifen, führen jedoch zu einem internen Serverfehler.
Antwort:
Bad Practices und Empfehlungen:
Der bereitgestellte Code enthält mehrere schlechte Praktiken, die zum Fehler beitragen:
Es wird empfohlen:
Überarbeitet Code:
database.php:
<?php mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $db = new mysqli("localhost", "DBUserName", "UserPassword", "SelectedDB"); $db->set_charset('utf8mb4');
myapi.php:
<?php class MyAPI { protected $db; public function __construct($db, $request_uri, $postData, $origin) { $this->db = $db; } public function getUser($id) { $sql = "SELECT * FROM users where>
app.php:
<?php # require_once 'Database.php'; # require_once 'myapi.php'; require 'vendor/autoload.php'; // autoloading is essential $api = new MyAPI($db, $request_uri, $postData, $origin); $user = $api->getUser($_POST['id']);
Wenn Sie diese Empfehlungen befolgen, ist dies der Fall Es ist möglich, von einer anderen Klasse aus effektiv und fehlerfrei auf die MySQLi-Verbindung zuzugreifen.
Das obige ist der detaillierte Inhalt vonWie kann ich von einer separaten Klasse in PHP aus ordnungsgemäß auf eine MySQLi-Verbindung zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!