Java 字符串作为文本变量

标签 java mysql string

我正在尝试通过 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/

相关文章:

java - 如何在编译时生成 Java 工厂?

java - 准备好的声明不转义撇号

java - 如何从HDF5文件读取属性?

mysql - mysql 中 while 出错

MySQL:有什么办法可以将这N个查询变成更少的查询吗?

java - 在记录器调试语句中使用字符串文字

java - 如何优化 REST API 调用

php - 使用内部连接在 php 和 mysql 中搜索

Ruby:如何将字符串转换为 boolean 值

python - 不使用库函数查找字符串中子字符串出现的次数