完整報錯信息:
java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax to use near '?' at line 1
踩坑經歷:
在有道詞典翻譯后,“你的SQL語法有錯誤;檢查手冊對應的MySQL服務器版本的正確語法附近'?'在第1行”。這句話的意思是在?附近的SQL語句有錯誤。當我去看整個SQL語句時,發現SQL語句並沒有寫錯。然后我就覺得應該是PreparedStatement這個類的預編譯或編譯的方法那出錯了,於是我去看了.prepareStatement()和.executeQuery()方法,發現.executeQuery()傳入了sql語句,沒想到自己還遇到了這種低級的錯誤。。。
解決方法:
將ppstm.executeQuery(sql);中的sql去掉,改成ppstm.executeQuery();