Apabila menaik taraf daripada PHP 5.6 kepada 7.0, adalah perlu untuk mengemas kini daripada MySQL kepada MySQLi. Walau bagaimanapun, ini kadangkala boleh membawa kepada isu persediaan.
Masalah:
Selepas menaik taraf kepada PHP 7.0 dan MySQLi, cuba mengakses sambungan pangkalan data menggunakan $this->db ->conn menghasilkan ralat pelayan dalaman 500, walaupun mencipta sambungan pangkalan data secara langsung dalam kelas berfungsi.
Penyelesaian:
Ralat disebabkan oleh beberapa amalan buruk:
Untuk menyelesaikan isu:
Contoh Kod:
// 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']);
Dengan mengikuti garis panduan ini, anda boleh berjaya menggunakan MySQLi daripada kelas lain dalam PHP .
Atas ialah kandungan terperinci Bagaimana Menggunakan Sambungan MySQLi Dengan Betul Merentasi Kelas PHP Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!