Lors de la mise à niveau de PHP 5.6 vers 7.0, il est nécessaire de mettre à jour MySQL vers MySQLi. Cependant, cela peut parfois entraîner des problèmes de configuration.
Problème :
Après la mise à niveau vers PHP 7.0 et MySQLi, tentative d'accès aux connexions à la base de données à l'aide de $this->db ->conn entraîne une erreur de serveur interne 500, même si la connexion à la base de données est créée directement dans la classe fonctionne.
Solution :
L'erreur est causée par plusieurs mauvaises pratiques :
Pour résoudre le problème :
Exemple Code :
// database.php $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; } // ... (rest of the class omitted for brevity) }
// app.php require 'vendor/autoload.php'; // assuming autoloading is set up $api = new MyAPI($db, $request_uri, $postData, $origin); $user = $api->getUser($_POST['id']);
En suivant ces directives, vous pouvez utiliser avec succès MySQLi à partir d'autres classes 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!