SQL中写入包含有英文单引号“ '' ”失败问题深入详解

时间:2021-05-23

当前碰到一个问题,在测试编辑信息内容,其中若编辑的内容包含单引号(‘)则写入Mysql数据库时写入失败,使用如下代码进行错误打印:

if (!this->m_sql_query.prepare(update_string)){printf(“exec fail—>%s\n”, this->m_sql_query.lastError().text().toStdString().c_str());}if (!this->m_sql_query.exec()){printf(“exec fail—>%s\n”, this->m_sql_query.lastError().text().toStdString().c_str());}

打印出的结果为:exec fail—>syntax error unable to execute statement

查阅相关资料如下所示:

经过分析后发现插入的内容中在编辑SQL语句的时候字符串被从单引号处截断,导致语法错误。

解决办法:将包含单引号的字符中的(')换成(''),就可以了。

SQL是用两个单引号来代替一个单引号的

str = str.replace(” ‘“, ”''“);

到此这篇关于SQL中写入包含有英文单引号“ ' ”失败问题深入详解的文章就介绍到这了,更多相关SQL中写入包含有英文单引号“ ' ”失败内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章