Beim Upgrade von PHP 5.6 auf 7.0 ist es wichtig, von MySQL auf MySQLi umzusteigen. Dieser Übergang kann zu Herausforderungen führen, insbesondere wenn versucht wird, von separaten Klassen aus auf MySQLi-Verbindungen zuzugreifen. Diese Frage beleuchtet eine solche Situation, in der der Versuch, von einer API-Klasse aus mithilfe einer Datenbankklasse eine Verbindung zu einer Datenbank herzustellen, zu einem internen Serverfehler führte.
Die Ursache des Problems liegt in der Einhaltung guter Programmierpraktiken. Das Erweitern eines Benutzers aus einer Datenbankklasse ist falsch und der Datenbankklasse selbst fehlen wesentliche Funktionen. Um diesen Fehler zu beheben und das Gesamtdesign zu verbessern, berücksichtigen Sie die folgenden Schritte:
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 'vendor/autoload.php'; // autoloading is recommended $api = new MyAPI($db, $request_uri, $postData, $origin); $user = $api->getUser($_POST['id']);
Das obige ist der detaillierte Inhalt vonWie kann ich von verschiedenen PHP-Klassen aus ordnungsgemäß auf eine MySQLi-Datenbankverbindung zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!