Cara Menggunakan MySQLi daripada Kelas Berasingan dalam PHP
Pengenalan
Naik taraf daripada PHP 5.6 hingga 7.0 memerlukan pertukaran daripada MySQL kepada MySQLi, yang mungkin mengganggu persediaan sedia ada. Artikel ini menangani masalah yang dihadapi apabila cuba mengakses sambungan MySQLi daripada kelas yang berasingan.
Masalah
Seorang pengaturcara cuba mengakses sambungan MySQLi yang dibuat dalam kelas pangkalan data daripada kelas API, menghadapi ralat pelayan dalaman (500) semasa memanggil sambungan. Walau bagaimanapun, penyambungan terus dalam kelas API telah menyelesaikan isu.
Penyelesaian
Beberapa perubahan yang disyorkan boleh membetulkan masalah:
Kod Contoh:
pangkalan data.php:
<code class="php">mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $db = new mysqli("localhost", "DBUserName", "UserPassword", "SelectedDB"); $db->set_charset('utf8mb4');</code>
myapi.php:
<code class="php">class MyAPI { protected $db; public function __construct($db, $request_uri, $postData, $origin) { $this->db = $db; } }</code>
app.php:
<code class="php">require 'database.php'; require 'myapi.php'; $api = new MyAPI($db, $request_uri, $postData, $origin);</code>
Atas ialah kandungan terperinci Berikut ialah beberapa pilihan tajuk, dengan mengingati format soalan dan fokus pada isu MySQLi: **Terus dan Ringkas:** * **Mengapa Saya Tidak Boleh Mengakses Sambungan MySQLi Saya daripada Kelas Berasingan?** * **MyS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!