MySQL Prepared Statement Ralat: MySQLSyntaxErrorException
Masalah:
Apabila cuba untuk melaksanakan pernyataan menggunakan pernyataan yang disediakan, ralat berikut ditemui:
"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"
Analisis:
Mesej ralat mencadangkan bahawa terdapat isu dengan sintaks SQL bagi pernyataan yang disediakan. Memeriksa kod, adalah jelas bahawa kaedah executeQuery() sedang diluluskan rentetan selectSQL dan bukannya pernyataan yang disediakan itu sendiri.
Penyelesaian:
Untuk membetulkan isu , kaedah executeQuery() hendaklah digunakan dengan pernyataan yang disediakan dan bukannya rentetan SQL:
rs = stmt.executeQuery();
Dengan membuat pengubahsuaian ini, pernyataan yang disediakan akan melaksanakan pertanyaan SELECT dengan betul, mendapatkan semula data yang dikehendaki tanpa menemui ralat sintaks.
Atas ialah kandungan terperinci Mengapa Saya Mendapat \'MySQLSyntaxErrorException\' Apabila Menggunakan Penyata Disediakan dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!