Menyelesaikan masalah "Tidak Dapat Mengeluarkan Pernyataan Manipulasi Data dengan executeQuery()" Ralat
Dalam operasi pangkalan data SQL biasa, anda mungkin menghadapi situasi di mana anda cuba melaksanakan pertanyaan yang memanipulasi data, seperti memasukkan, mengemas kini atau memadam rekod. Walau bagaimanapun, jika anda menggunakan kaedah executeQuery() untuk melaksanakan pertanyaan ini, anda mungkin menghadapi mesej ralat yang menyatakan bahawa anda tidak boleh mengeluarkan pernyataan manipulasi data dengan executeQuery().
Memahami Ralat
executeQuery() direka khusus untuk mendapatkan semula data daripada pangkalan data tanpa mengubah suai kandungannya. Ia digunakan terutamanya untuk pertanyaan yang mengembalikan set hasil, seperti pernyataan SELECT. Sebaliknya, pernyataan manipulasi data, seperti INSERT, UPDATE dan DELETE, bertujuan untuk mengubah pangkalan data dengan mengubah suai data.
Menyelesaikan Ralat
Untuk menyelesaikan ralat ini dan berjaya melaksanakan kenyataan manipulasi data, anda perlu menggunakan kaedah yang sesuai. Daripada executeQuery(), gunakan executeUpdate().
executeUpdate() direka bentuk untuk melaksanakan pernyataan SQL yang mempengaruhi data, termasuk operasi manipulasi data. Berikut ialah petikan daripada dokumentasi executeUpdate() yang memberikan definisi yang jelas:
"Melaksanakan pernyataan SQL yang diberikan, yang mungkin merupakan pernyataan INSERT, UPDATE, atau DELETE atau pernyataan SQL yang tidak mengembalikan apa-apa, seperti Kenyataan SQL DDL."
Contoh
Untuk membetulkan isu yang diterangkan dalam soalan awal, kod harus dilaraskan untuk menggunakan executeUpdate() seperti berikut:
executeUpdate(query1); executeUpdate(query2);
Dengan menggunakan executeUpdate() untuk operasi manipulasi data, anda boleh melaksanakan pertanyaan yang dikehendaki dengan tepat dan mengelakkan "Tidak Dapat Mengeluarkan Pernyataan Manipulasi Data dengan ralat executeQuery()".
Atas ialah kandungan terperinci Mengapa `executeQuery()` Gagal dengan INSERT, UPDATE, atau DELETE Statement?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!