Maison >base de données >tutoriel mysql >Comment puis-je me connecter avec succès à MySQLi à partir d'une classe distincte en PHP et résoudre les erreurs de connexion ?
Utilisation de MySQLi à partir d'une autre classe en PHP : dépannage des erreurs de connexion
En PHP, l'utilisation de MySQLi à partir d'une classe distincte peut présenter des défis, en particulier lorsque mise à niveau à partir d'anciennes versions de PHP. Cet article aborde les problèmes courants et propose des solutions pour vous aider à établir une connexion réussie.
Description du problème
L'implémentation initiale de la connexion à la base de données dans une classe distincte et son accès dans la classe API a entraîné une erreur de serveur interne (500) lors de la tentative d'interrogation du base de données.
Solution
Après enquête, plusieurs bonnes pratiques ont été négligées dans la configuration d'origine :
Pour résoudre le problème problème, considérez ce qui suit :
1. Élimination de la classe de base de données redondante
Jetez la classe de base de données inutile et créez une seule instance MySQLi à la place.
2. Injection de dépendances
Fournir l'instance MySQLi en tant que paramètre de constructeur à chaque classe nécessitant une connexion à la base de données.
3. Exemple de mise en œuvre
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>
Conseils pour le débogage
Par en adhérant à ces recommandations, vous pouvez établir une connexion à la base de données robuste et maintenable en PHP.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!