我有一个文本框。当用户在文本框中输入名称时,我希望从表中提取详细信息
String getTxt = text.getText();
ResultSet rs=st.executeQuery("SELECT * FROM authors_4 WHERE self_authors="+getTxt);
执行此操作后,我将获得异常
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server
这是什么解决方案。需要帮助
答案 0 :(得分:3)
你缺少单引号:
st.executeQuery("SELECT * FROM authors_4 WHERE self_authors='" + getTxt + "'");
最好使用PreparedStatement
来防范SQL Injection攻击。