在我的iPhone应用中。我正在使用Sqlite数据库。我需要将文本存储在数据库中。该文本包含撇号。
例如:
插入tbl_insert值('这是Steve的衬衫');
如何在Sqlite数据库中存储这种语句?
应该做什么?
请帮助和建议。
感谢。
答案 0 :(得分:19)
这也是我在SQL Server和MySQL中经历的事情。你绝对应该使用参数化的SQL查询
有关多种语言的示例,请参阅this page。
我强烈反对在update语句中使用文字字符串。使用参数化查询。没有理由破坏安全性
您可以编写一个函数,将每个字符实例替换为''
答案 1 :(得分:5)
只需更换'字符为`:)
text = text.replace("'", "`");
答案 2 :(得分:0)
使用 python 和 sqlite3,我发现以下行工作得很好(用 '' 替换 ')
myString = myString.replace('\'', '\'\'')
然后可以将字符串连接到 UPDATE 命令中
该行已正确存储和显示。它也适用于 Grafana。
我还不确定这是特定于 sqlite3 python 模块还是可以推广