Java在mysql中插入含有單引號的內容報錯

使用java向mysql數據表中插入數據,若是String中含有單引號,則會出現以下報錯html

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax;java

因此,單引號是須要轉義的。mysql

解決方法以下:sql

//在java裏可使用preparedstatement,你上面的狀況能夠用下面的方式:
    string strsql = "insert into metainfo (textId, gkeywords, gdescription) values(?, ?, ?)";
    preparedstatement pstmt = conn.preparestatement(strsql);
    pstmt.setstring(1, textId);
    pstmt.setstring(2, gkeywords);
    pstmt.setstring(3, gdescription);
    resultset rs = pstmt.execute();
//這樣就算有特殊符號也能夠執行了!!!

參考資料:debug

http://www.debugease.com/mysql/279755.htmlrest

http://stackoverflow.com/questions/15198580/how-to-escape-single-quote-in-string-literal-using-mysql-from-javacode

相關文章
相關標籤/搜索