Bagaimana untuk Menyelesaikan Ralat \'Panggil ke fungsi ahli prepare() on null\' dalam Kesambungan Pangkalan Data?

Linda Hamilton
Lepaskan: 2024-11-01 13:44:29
asal
839 orang telah melayarinya

How to Resolve the

Ralat Fungsi Ahli Null: Masalah dalam Kesambungan Pangkalan Data

Apabila menghadapi ralat "Panggilan kepada fungsi ahli sediakan() pada null" , isu ini biasanya berpunca daripada pembolehubah yang tidak dimulakan dalam contoh kelas. Dalam kes anda, masalahnya terletak pada permulaan pembolehubah $pdo yang hilang.

Dalam kelas Kategori anda, kaedah fetch_all() dan fetch_data() kedua-duanya memerlukan sambungan PDO. Walau bagaimanapun, kod yang diberikan tidak mewujudkan sambungan ini secara eksplisit. Untuk menyelesaikan ralat ini, anda perlu memastikan bahawa pembolehubah $pdo dimulakan dalam skop global sebelum memanggil kaedah kelas.

<code class="php"><?php

// Instantiate a new PDO object globally
$pdo = new PDO('mysql:host=localhost;dbname=test', $user, $pass);

class Category {
    public function fetch_all() {
        global $pdo;

        // Use the initialized $pdo variable to prepare the SQL query
        $query = $pdo->prepare("SELECT * FROM dd_cat");
        $query->execute();

        return $query->fetchAll();
    }

    public function fetch_data($cat_id) {
        global $pdo;

        // Use the initialized $pdo variable to prepare the SQL query
        $query = $pdo->prepare("SELECT * FROM dd_cat WHERE cat_id = ?");
        $query->bindValue(1, $cat_id);
        $query->execute();

        return $query->fetch();
    }
}

?></code>
Salin selepas log masuk

Dengan memulakan pembolehubah $pdo secara global dan memastikan ia digunakan dalam kelas kaedah, anda akan mewujudkan sambungan pangkalan data yang betul dan menyelesaikan ralat "Panggil ke fungsi ahli menyediakan() pada nol".

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat \'Panggil ke fungsi ahli prepare() on null\' dalam Kesambungan Pangkalan Data?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!