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

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

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-12 08:54:02738semak imbas

Why Am I Getting

Ralat PDO dalam Menyediakan Perlaksanaan Fungsi

Kod yang disediakan cuba menyediakan pertanyaan SQL menggunakan PDO, tetapi menemui ralat "Panggil ke fungsi ahli menyediakan() pada bukan objek." Ralat ini menunjukkan bahawa objek $pdo tidak dimulakan atau boleh diakses dalam fungsi repetirDados.

Punca Kemungkinan

Punca yang paling mungkin bagi ralat ini ialah $pdo objek tidak ditakrifkan dalam fungsi. Ia harus sama ada diluluskan sebagai hujah atau diisytiharkan secara global dan boleh diakses dalam fungsi.

Penyelesaian

Untuk menyelesaikan isu, ikut langkah berikut:

  1. Initialize $pdo: Pastikan objek $pdo dimulakan sebelum memanggil prepare fungsi. Sebagai alternatif, jadikan $pdo pembolehubah global dengan menambah $pdo global; pada permulaan fungsi.
  2. Contoh:

    function repetirDados($email, $pdo) { // Pass $pdo as an argument
        // ... (rest of the code)
    }

Setara dengan mysql_num_rows

Untuk PDO, setara dengan mysql_num_rows ialah rowCount. Ini mengembalikan bilangan baris yang dipengaruhi oleh pernyataan SQL terakhir.

$rowCount = $stmt->rowCount();

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Panggil ke 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