Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Saya Mendapat Ralat 'Panggilan kepada fungsi ahli prepare() pada bukan objek' dalam Kod PDO Saya?

Mengapa Saya Mendapat Ralat 'Panggilan kepada fungsi ahli prepare() pada bukan objek' dalam Kod PDO Saya?

Susan Sarandon
Susan Sarandonasal
2024-11-14 16:04:02863semak imbas

Why Am I Getting a

pdo - Panggilan ke fungsi ahli prepare() pada bukan objek

Apabila cuba untuk mengesahkan input pengguna menggunakan PDO, ralat ditemui menunjukkan bahawa penyediaan () kaedah sedang dipanggil pada bukan objek. Ralat ini berlaku secara khusus pada baris 42 kod yang disediakan.

Untuk menyelesaikan isu ini, periksa kod untuk memastikan objek $pdo ditakrifkan dengan betul dan boleh diakses dalam fungsi repetirDados(). Ralat menunjukkan bahawa $pdo tidak tersedia dalam skop semasa.

Sahkan jika $pdo dihantar sebagai hujah kepada fungsi atau jika ia ditakrifkan sebagai pembolehubah global. Jika kedua-dua senario ini tidak benar, anda boleh mentakrifkan $pdo dalam ruang nama global dan menggunakan kata kunci global dalam fungsi untuk mengaksesnya:

global $pdo;

Sebagai alternatif, anda boleh menghantar $pdo sebagai hujah kepada fungsi repetirDados(), memastikan bahawa ia tersedia dalam skop fungsi.

Bersamaan dengan mysql_num_rows

Persamaan mysql_num_rows dalam PDO ialah rowCount(). Ia mengembalikan bilangan baris yang dipengaruhi oleh pelaksanaan pertanyaan terbaharu. Dalam kes ini, anda boleh menggunakan rowCount() untuk menyemak sama ada mana-mana baris dikembalikan daripada pertanyaan:

if ($stmt->rowCount() == 0) {
    // No results found
} else {
    // Results found
}

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Panggilan kepada fungsi ahli prepare() pada bukan objek' dalam Kod PDO Saya?. 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