Rumah  >  Artikel  >  pangkalan data  >  Mengapa Saya Mendapat MySQLSyntaxErrorException dengan Penyata Saya yang Disediakan?

Mengapa Saya Mendapat MySQLSyntaxErrorException dengan Penyata Saya yang Disediakan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-01 08:25:02804semak imbas

Why Am I Getting a MySQLSyntaxErrorException with My Prepared Statement?

Ralat Penyata Disediakan MySQL: MySQLSyntaxErrorException

Dalam pengaturcaraan Java, MySQLSyntaxErrorException dilemparkan apabila terdapat masalah dengan sintaks pernyataan SQL . Satu senario di mana ralat ini mungkin berlaku ialah apabila menggunakan pernyataan yang disediakan dengan pertanyaan berparameter. Mari kita selidiki kes tertentu dan berikan penyelesaian.

Kod yang diberikan mengandungi pernyataan pilih menggunakan pernyataan yang disediakan untuk mendapatkan semula data daripada jadual ads_tbl berdasarkan ad_id. Walau bagaimanapun, ralat ditemui semasa melaksanakan pernyataan: Anda mempunyai ralat dalam sintaks SQL anda; semak manual yang sepadan dengan versi pelayan MySQL anda untuk sintaks yang betul untuk digunakan berhampiran '?' pada baris 1. Ini menunjukkan masalah dengan sintaks pernyataan SQL.

Setelah diperiksa lebih dekat, isunya terletak pada baris:

<code class="java">rs = stmt.executeQuery(selectSQL);</code>

Cara yang betul untuk melaksanakan pernyataan yang disediakan adalah untuk meninggalkan pernyataan SQL itu sendiri sebagai hujah untuk melaksanakanQuery(). Ini kerana pernyataan yang disediakan telah pun disediakan dengan parameter yang sesuai, dan memanggil executeQuery() tanpa pernyataan SQL akan melaksanakan pernyataan yang disediakan.

Oleh itu, kod harus diubah suai kepada yang berikut:

<code class="java">rs = stmt.executeQuery();</code>

Dengan membuat perubahan ini, pernyataan SQL akan dilaksanakan dengan betul menggunakan pernyataan yang disediakan dan ralat harus diselesaikan.

Atas ialah kandungan terperinci Mengapa Saya Mendapat MySQLSyntaxErrorException dengan Penyata Saya yang Disediakan?. 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