Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Saya Mendapat 'Panggilan kepada Fungsi Ahli Sediakan() pada Bukan Objek' dalam Kod PDO Saya?

Mengapa Saya Mendapat 'Panggilan kepada Fungsi Ahli Sediakan() pada Bukan Objek' dalam Kod PDO Saya?

Mary-Kate Olsen
Lepaskan: 2024-11-19 19:36:03
asal
764 orang telah melayarinya

Why Am I Getting

PDO Panggilan ke Fungsi Ahli Bersedia pada Bukan Objek: Punca dan Penyelesaian

Apabila cuba menggunakan kaedah prepare() bagi Objek PDO, ralat boleh berlaku: "Panggil ke fungsi ahli prepare() pada bukan objek." Ralat ini menunjukkan bahawa objek $pdo tidak dimulakan dengan betul dalam fungsi yang menyebabkan isu.

Dalam coretan kod yang disediakan, fungsi repetirDados() tidak mengisytiharkan objek $pdo atau memberikannya sebagai parameter . Untuk menyelesaikan ralat ini, anda boleh sama ada:

  • Lepaskan objek PDO sebagai parameter:
    Ubah suai definisi fungsi untuk memasukkan objek $pdo sebagai hujah, memastikan bahawa ia dihantar ke dalam fungsi apabila dipanggil.
  • Isytihar objek PDO secara global: (Tidak disyorkan)
    Anda boleh mengisytiharkan objek $pdo dalam ruang nama global dan menjadikannya boleh diakses kepada fungsi dengan menambah global $pdo; pada permulaan fungsi. Walau bagaimanapun, pendekatan ini tidak diutamakan kerana ia boleh membawa kepada potensi konflik jika kod lain mengakses pembolehubah global yang sama.

PDO Setara dengan Fungsi MySQL

Anda juga bertanya tentang persamaan PDO bagi fungsi MySQL mysql_num_rows. PDO menyediakan kaedah alternatif yang dipanggil rowCount() yang mempunyai tujuan yang sama. Ia mengembalikan bilangan baris yang terjejas dalam set hasil selepas melaksanakan pertanyaan.

Dalam kod anda, anda boleh menggunakan $stmt->rowCount() dan bukannya $results == 0 untuk menyemak sama ada mana-mana baris adalah dikembalikan oleh pertanyaan.

Atas ialah kandungan terperinci Mengapa Saya Mendapat 'Panggilan kepada Fungsi Ahli Sediakan() pada Bukan Objek' dalam Kod PDO Saya?. 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