java - 由于插入查询中的单引号导致的错误

标签 java mysql sql

我正在使用 - 从 java 文件向 Mysql 数据库中插入值

String query = "INSERT INTO genes (sent, title) VALUES ('"+sent+"','"+title+"')";
Statement stmt = con.createStatement();
int rs = stmt.executeUpdate(query);

其中senttitle是应用某种算法后提取的可变字符串。但是,当 senttitle 包含单个 qoutes 时,这会产生 sql 错误。

最佳答案

考虑使用带参数的预处理语句:

PreparedStatement pstmt = con.prepareStatement(
    "INSERT INTO genes (sent, title) VALUES (?, ?)");
pstmt.setString(1, sent);
pstmt.setString(2, title);
pstmt.executeUpdate();

关于java - 由于插入查询中的单引号导致的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11322629/

相关文章:

java - Java中的契约是什么

java - Collections.sort 是否尊重绑定(bind)输入元素之间的索引? (排序稳定性)

mysql - 教义 : How to join on a specific row?

c# - MySql.Data.dll 中发生类型 'System.InvalidOperationException' 的未处理异常

php - 将索引数组插入MySQL中的一列

java - 创建项目时如何禁用自动更新 PlayFramework Activator 命令?

java - 迭代地添加带有 gridbaglayout 的组件?

sql - Oracle 中看似关键的保留 View 的更新引发 ORA-01779

mysql - 如何从sql中经过的天数中查找年份和月份

c# - 检查重复项时如何返回列?