Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Saya Mendapat Ralat \'Panggilan kepada Fungsi Ahli menyediakan() pada bukan Objek\' dalam PHP?

Mengapa Saya Mendapat Ralat \'Panggilan kepada Fungsi Ahli menyediakan() pada bukan Objek\' dalam PHP?

DDD
Lepaskan: 2024-11-28 11:45:14
asal
680 orang telah melayarinya

Why Am I Getting the

PHP: Menangani Ralat "Panggilan kepada Fungsi Ahli sediakan() pada bukan Objek"

Apabila menggunakan pernyataan yang disediakan dalam PHP , ralat "Panggil ke fungsi ahli prepare() pada bukan objek" menunjukkan sambungan pangkalan data yang salah atau tiada. Untuk menyelesaikan isu ini, pastikan sambungan pangkalan data dibuat dengan betul dan boleh diakses dalam fungsi.

Dalam contoh yang diberikan, ralat berlaku kerana pembolehubah $DBH tidak boleh diakses dalam fungsi selectInfo(). Ini disebabkan oleh skop berubah-ubah. Untuk menangani perkara ini, kami mempunyai beberapa pilihan:

  1. Gunakan Kata Kunci global:

    • Jadikan pembolehubah $DBH global dengan menambahnya dengan global, membenarkan fungsi mengaksesnya. Walau bagaimanapun, ini tidak disyorkan kerana ia mencemarkan ruang nama global.
  2. Luluskan Sambungan Pangkalan Data sebagai Parameter:

    • Lulus pembolehubah $DBH sebagai parameter kepada fungsi selectInfo(), memastikan ketersediaannya dalam fungsi. Ini mengekalkan lokaliti berubah tetapi memerlukan pengubahsuaian panggilan fungsi.
  3. Buat Fungsi Pengambilan Sambungan Pangkalan Data:

    • Tentukan a berfungsi untuk mendapatkan semula sambungan pangkalan data, menjadikannya tersedia untuk fungsi yang memerlukannya. Ini merangkumi logik sambungan dan mengelakkan merujuk pembolehubah global.
  4. Melaksanakan Kelas Pembungkus Pangkalan Data:

    • Merangkumkan akses pangkalan data dalam kelas, menyediakan antara muka untuk melaksanakan operasi tanpa memanipulasi sambungan secara langsung. Ini membenarkan pengurusan sambungan terpusat dan memudahkan interaksi pangkalan data.
  5. Gunakan Rangka Kerja Pra-Bina atau Pustaka:

    • Gunakan rangka kerja yang telah ditetapkan atau perpustakaan capaian pangkalan data, yang menyediakan cara berstruktur dan cekap untuk mengendalikan sambungan dan operasi pangkalan data, termasuk disediakan kenyataan.

Dengan menggunakan salah satu kaedah ini, anda boleh mewujudkan sambungan yang betul dan menyelesaikan ralat "Panggil ke fungsi ahli menyediakan() pada bukan objek", membenarkan kenyataan anda yang disediakan untuk dilaksanakan dengan jayanya.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat \'Panggilan kepada Fungsi Ahli menyediakan() pada bukan Objek\' 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan