Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Berjaya Menyambung ke MySQLi daripada Kelas Berasingan dalam PHP dan Selesaikan Masalah Ralat Sambungan?

Bagaimanakah Saya Boleh Berjaya Menyambung ke MySQLi daripada Kelas Berasingan dalam PHP dan Selesaikan Masalah Ralat Sambungan?

Susan Sarandon
Susan Sarandonasal
2024-11-29 16:13:10320semak imbas

How Can I Successfully Connect to MySQLi from a Separate Class in PHP and Troubleshoot Connection Errors?

Menggunakan MySQLi daripada Kelas Lain dalam PHP: Menyelesaikan Masalah Ralat Sambungan

Dalam PHP, menggunakan MySQLi daripada kelas berasingan boleh memberikan cabaran, terutamanya apabila menaik taraf daripada versi PHP yang lebih lama. Artikel ini menangani isu biasa dan menyediakan penyelesaian untuk membantu anda mewujudkan sambungan yang berjaya.

Penerangan Masalah

Pelaksanaan awal sambungan pangkalan data dalam kelas yang berasingan dan mengaksesnya dalam kelas API mengakibatkan ralat pelayan dalaman (500) apabila cuba menanyakan pangkalan data.

Penyelesaian

Setelah disiasat, beberapa amalan terbaik diabaikan dalam persediaan asal:

  • Melanjutkan kelas pengguna daripada pangkalan data kelas tidak diperlukan.
  • Kelas pangkalan data tidak berfungsi tujuan.

Untuk menyelesaikan isu, pertimbangkan perkara berikut:

1. Menghapuskan Kelas Pangkalan Data Berlebihan

Buang kelas Pangkalan Data yang tidak diperlukan dan buat satu contoh MySQLi sahaja.

2. Suntikan Ketergantungan

Sediakan tika MySQLi sebagai parameter pembina kepada setiap kelas yang memerlukan sambungan pangkalan data.

3. Contoh Pelaksanaan

pangkalan data.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>

Petua untuk Menyahpepijat

  • Melaksanakan PHP pengelogan ralat untuk menangkap sebarang ralat atau pengecualian.
  • Sahkan bukti kelayakan pangkalan data dan pastikan sambungan MySQLi yang diperlukan didayakan.
  • Semak butiran sambungan pangkalan data dan pastikan anda menyambung ke pangkalan data yang betul.
  • Elakkan mencampurkan lapisan abstraksi pangkalan data yang berbeza (cth., MySQL dan MySQLi) dalam lapisan yang sama aplikasi.

Dengan mematuhi pengesyoran ini, anda boleh mewujudkan sambungan pangkalan data yang mantap dan boleh diselenggara dalam PHP.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Berjaya Menyambung ke MySQLi daripada Kelas Berasingan dalam PHP dan Selesaikan Masalah Ralat Sambungan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn