我試圖檢索基於存儲在skw文本框中的關鍵字的記錄,當我傳遞USN或Age時,它會給出正確的結果,但它不能與Name 。它拋出錯誤:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorExceptionUnknown列「NAME_KEYWORD(SKW)」在「where子句」MySQLSyntaxErrorException:'where子句'中的未知列'John'
ResultSet res=stmt.executeQuery("select * from Student where USN="+skw.getText()+" or Name='"+skw.getText()+"' or Age="+skw.getText()+"");
的可能的複製[com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:未知列「史密斯」在「where子句」](HTTP: //stackoverflow.com/questions/1632893 5/com-mysql-jdbc-exceptions-jdbc4-mysqlsyntaxerrorexception-unknown-column-smith) –
不要將值連接到查詢字符串中。您的代碼易受SQL注入攻擊。相反,您應該使用帶有參數的準備好的語句,然後設置每個參數的值。司機然後將正確處理任何必要的逃跑等。 –