Verwendung von MySQLi aus einer anderen Klasse in PHP: Fehlerbehebung bei Verbindungsfehlern
In PHP kann die Verwendung von MySQLi aus einer separaten Klasse eine Herausforderung darstellen, insbesondere wenn Upgrade von älteren PHP-Versionen. Dieser Artikel geht auf häufige Probleme ein und bietet Lösungen, die Ihnen beim Aufbau einer erfolgreichen Verbindung helfen.
Problembeschreibung
Die anfängliche Implementierung der Datenbankverbindung in einer separaten Klasse und der Zugriff darauf in der API-Klasse führte zu einem internen Serverfehler (500) beim Versuch, die abzufragen Datenbank.
Lösung
Bei der Untersuchung wurden mehrere Best Practices im ursprünglichen Setup übersehen:
Um das zu lösen Bedenken Sie Folgendes:
1. Eliminierung redundanter Datenbankklassen
Verwerfen Sie die unnötige Datenbankklasse und erstellen Sie stattdessen eine einzelne MySQLi-Instanz.
2. Abhängigkeitsinjektion
Stellen Sie die MySQLi-Instanz als Konstruktorparameter für jede Klasse bereit, die eine Datenbankverbindung erfordert.
3. Beispielimplementierung
database.php:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $db = new mysqli("localhost", "DBUserName", "UserPassword", "SelectedDB"); $db->set_charset('utf8mb4');
myapi.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>
Tipps zum Debuggen
Durch die Einhaltung dieser Empfehlungen können Sie eine robuste und wartbare Datenbankverbindung in PHP herstellen.
Das obige ist der detaillierte Inhalt vonWie kann ich von einer separaten Klasse in PHP aus erfolgreich eine Verbindung zu MySQLi herstellen und Verbindungsfehler beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!