Bagaimana untuk Berkongsi Sambungan MySQLi Antara Kelas Berbeza dalam PHP?

Susan Sarandon
Lepaskan: 2024-10-25 20:32:29
asal
502 orang telah melayarinya

How to Share a MySQLi Connection Between Different Classes in PHP?

Menggunakan MySQLi dalam Kelas: Panduan Penyelesaian Masalah

Menggunakan MySQLi dari kelas yang berbeza boleh mencabar, tetapi jangan risau. Mari selami isu yang anda hadapi dan sediakan penyelesaian.

Masalah: Ralat Pelayan Dalaman 500

  • Punca: Percubaan untuk mengakses sifat sambungan objek Pangkalan Data selepas menciptanya dalam kelas yang berbeza (MyAPI).

Penyelesaian: Mulakan objek Pangkalan Data dalam pembina MyAPI dan hantarkannya sebagai parameter kepada fungsi lain yang memerlukan sambungan pangkalan data. Ini memastikan bahawa semua kelas yang berkongsi sambungan mempunyai rujukan langsung kepada kejadian yang sama.

Contoh:

<code class="php">// myapi.php
class MyAPI {
    private $db;

    public function __construct($db) {
        $this->db = $db;
    }

    public function getUser($id) {
        $result = mysqli_query($this->db->conn, "SELECT * FROM users WHERE id='$id'");
        return mysqli_fetch_assoc($result);
    }
}

// app.php
// Initialize database once
$db = new mysqli(...);

// Create MyAPI instance with database reference
$api = new MyAPI($db);

// Use MyAPI to access user information
$user = $api->getUser(1);</code>
Salin selepas log masuk

Pertimbangan Tambahan:

  • Elakkan memanjangkan Pengguna daripada Pangkalan Data, kerana ia tidak perlu.
  • Secara langsung cipta satu instance mysqli dan hantarkannya kepada kelas yang memerlukannya.
  • Gunakan pernyataan yang disediakan untuk keselamatan dan prestasi yang lebih baik.
  • Pastikan parameter sambungan pangkalan data adalah betul dan pangkalan data boleh diakses.

Dengan mengikuti langkah-langkah ini, anda seharusnya berjaya menggunakan MySQLi daripada kelas yang berbeza dalam PHP.

Atas ialah kandungan terperinci Bagaimana untuk Berkongsi Sambungan MySQLi Antara Kelas Berbeza dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan