我正在尝试通过 java 将一些文本插入到我的 MYSQL 数据库中。
我试图将其放入的变量是一个 TEXT 变量。我的问题是,当我尝试插入它时,它发现了 ' 并认为它是一个困惑的插入。
这是插页:
INSERT INTO TermsAndConditions (name,description,ownerID) VALUES ('bar condtions','Don't be stealin my stuff','2')
它认为“不要”这个词被我弄乱了
我想做的是做尽可能少的工作,并告诉字符串只接受所有字符需要(它们可能不仅仅是 ' )有一个 "\'"或 "\£"在他们面前。
我知道我可以使用替换,但对于所有字符来说真的很痛苦!我问是因为他们一定是另一个更简单的解决方案!
谢谢
最佳答案
您最好的选择可能是使用准备好的语句(如果您不控制插入的输入以避免 sql 注入(inject),这本身就是一个好主意!)
此站点提供了如何操作的示例:http://www.exampledepot.com/egs/java.sql/InsertPs.html
对于你的例子,它会是这样的:
// Prepare a statement to insert a record
String sql = "INSERT INTO TermsAndConditions (name,description,ownerID) VALUES (?,?,?)";
PreparedStatement pstmt = connection.prepareStatement(sql);
// Set the values
pstmt.setString(1, "bar condtions");
pstmt.setString(2, "Don't be stealin my stuff");
pstmt.setString(3, "2");
// Insert the row
pstmt.executeUpdate();
关于Java 字符串作为文本变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11938523/