Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Saya Mendapat Ralat 'Panggilan kepada fungsi ahli prepare() pada bukan objek' dalam Kod PDO Saya?
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.
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!