Rumah pembangunan bahagian belakang tutorial php Penyelesaian kepada PHP Ralat maut: Panggilan ke kaedah yang tidak ditentukan PDO::prepare() in

Penyelesaian kepada PHP Ralat maut: Panggilan ke kaedah yang tidak ditentukan PDO::prepare() in

Jun 22, 2023 pm 06:40 PM
php pdo error

PHP, sebagai bahasa pembangunan web yang popular, telah digunakan sejak sekian lama. Kelas PDO (Objek Data PHP) yang disepadukan dalam PHP adalah cara biasa untuk kita berinteraksi dengan pangkalan data semasa pembangunan aplikasi web. Walau bagaimanapun, masalah yang sering dihadapi oleh sesetengah pembangun PHP ialah apabila menggunakan kelas PDO untuk berinteraksi dengan pangkalan data, mereka akan menerima ralat sedemikian:

Ralat maut PHP: Panggilan ke kaedah yang tidak ditentukan PDO::prepare( ) dalam

Mesej ralat ini bermakna kami menggunakan kaedah PDO::prepare() tetapi enjin PHP nampaknya tidak dapat mencari kaedah ini. Jadi mengapa ini berlaku? Lebih penting lagi, bagaimana kita harus menyelesaikan masalah ini?

Pertama sekali, kita perlu memahami kelas PDO PHP dan beberapa penggunaan asasnya. PDOException ialah subkelas kelas PDO, digunakan untuk mengendalikan pengecualian yang mungkin berlaku semasa operasi pangkalan data. Apabila kami menghantar permintaan pertanyaan ke pangkalan data MySQL, kami boleh menggunakan kaedah PDO::prepare(). Kaedah ini menghantar pernyataan pertanyaan ke pelayan MySQL Pelayan MySQL menyusun pernyataan pertanyaan ke dalam kod boleh laku dan mengembalikan pernyataan yang disediakan (objek PDOStatement). Kemudian, kita boleh menggunakan pernyataan ini beberapa kali dalam skrip PHP ini untuk melaksanakan operasi pertanyaan yang sama atau berbeza. Sintaks asas kaedah PDO::prepare() adalah seperti berikut:

$stmt = $pdo->prepare($query);

Di sini, $stmt ialah objek PDOStatement , dan $query ialah pernyataan pertanyaan MySQL yang ingin kami laksanakan (gunakan ruang letak tanda soal dan bukannya parameter dan nilai tertentu).

Walau bagaimanapun, dalam beberapa kes, apabila kami cuba menggunakan kaedah PDO::prepare(), ralat "PHP Fatal: Call to undefined method PDO::prepare() in" akan muncul. Berikut ialah gambaran keseluruhan tentang perkara yang mungkin menyebabkan masalah ini dan cara membetulkannya.

  1. Versi PHP sudah lapuk

Pertama, kami perlu memastikan versi PHP kami menyokong PDO. PDO telah diperkenalkan dalam versi PHP 5.1, jadi kita perlu menggunakan sekurang-kurangnya PHP versi 5.1 dan ke atas. Jika kami menggunakan PDO dalam versi PHP yang lebih awal, kami akan mendapat ralat kaedah yang tidak ditentukan.

  1. PDO tidak didayakan dalam fail konfigurasi

Walaupun kami telah menggunakan PHP 5.1 atau lebih baru, kami perlu menentukan sama ada sambungan PDO berada dalam fail konfigurasi PHP php.ini didayakan dalam . Kami hanya boleh menyemak sama ada baris berikut terdapat dalam fail:

extension=pdo.so
extension=pdo_mysql.so

Jika baris ini tidak ada, kami perlu menambah mereka ke fail , dan mulakan semula pelayan web untuk memastikan perubahan berkuat kuasa. Jika anda tidak pasti cara mengedit fail php.ini, anda boleh memasukkan arahan berikut dalam terminal:

sudo vi /etc/php.ini

Kemudian anda boleh membuka php menggunakan fail editor teks vim .ini dan ubah suainya. Selepas menyimpan dan keluar dari fail, anda perlu memulakan semula pelayan web.

  1. Kelas PDO tidak diimport

Sebelum menggunakan PDO dalam skrip PHP kami, kami perlu memastikan bahawa kelas PDO telah diimport. Kita perlu menambah kod berikut pada permulaan skrip PHP:

cuba {

42fe123baeffaf2867f64fb83fd0db51

}
?>

Di sini, $pdo ialah objek PDO, dan mydb, nama pengguna dan kata laluan ialah butiran yang berkaitan dengan sambungan pangkalan data MySQL. Kami juga boleh menggunakan pilihan PDO seperti ATTR_ERRMODE untuk menetapkan tahap pelaporan ralat PDO.

  1. Menggunakan kelas PDO yang salah

Dalam PHP, terdapat dua cara untuk melaksanakan kelas PDO: PDO dan PDO_MYSQL. Jika kita menggunakan PDO_MYSQL, kita harus menggunakan kaedah PDO_MYSQL::prepare() dan bukannya kaedah PDO::prepare().

Berikut ialah sintaks pertanyaan asas menggunakan kelas PDO_MYSQL:

$stmt = $pdo->prepare($query);

Sila ambil perhatian bahawa $pdo pembolehubah digunakan Objek yang dicipta oleh kelas PDO_MYSQL.

  1. Hilang sambungan MySQL PDO

Akhir sekali, jika skrip PHP kami menggunakan pelayan pangkalan data MySQL, maka kami perlu memastikan sambungan MySQL PDO dipasang pada PHP pelayan . Kita boleh menyemak sama ada sambungan ini dipasang menggunakan arahan berikut:

php -m | grep pdo_mysql

Jika arahan di atas mengeluarkan "pdo_mysql", ini bermakna sambungan pdo_mysql dipasang pada kami pelayan. Jika tidak, kami perlu memasang sambungan ini pada pelayan.

Akhir sekali, kita perlu mendayakan sambungan pdo_mysql dalam fail php.ini. Kami boleh mendayakannya dengan menambah baris berikut dalam fail:

extension=pdo_mysql.so

Ringkasnya, kaedah untuk menyelesaikan ralat Fatal PHP: Panggilan ke kaedah yang tidak ditentukan PDO::prepare( ) bergantung kepada Punca masalah. Atas sebab di atas, terdapat banyak cara untuk menyelesaikan masalah ini. Tidak kira apa keadaannya, kita harus menelitinya dengan teliti dan mencuba beberapa penyelesaian yang mungkin.

Atas ialah kandungan terperinci Penyelesaian kepada PHP Ralat maut: Panggilan ke kaedah yang tidak ditentukan PDO::prepare() in. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Konfigurasi Projek CakePHP Konfigurasi Projek CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan memahami Pembolehubah Persekitaran, Konfigurasi Umum, Konfigurasi Pangkalan Data dan Konfigurasi E-mel dalam CakePHP.

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

CakePHP Bekerja dengan Pangkalan Data CakePHP Bekerja dengan Pangkalan Data Sep 10, 2024 pm 05:25 PM

Bekerja dengan pangkalan data dalam CakePHP adalah sangat mudah. Kami akan memahami operasi CRUD (Buat, Baca, Kemas Kini, Padam) dalam bab ini.

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Penghalaan CakePHP Penghalaan CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Pengesah Mencipta CakePHP Pengesah Mencipta CakePHP Sep 10, 2024 pm 05:26 PM

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

See all articles