我试图根据用户提供的文本在SQLite数据库中创建一个表.一切都正常,除非我试图在文本中添加撇号(这是新的表名).经过研究,我确定我所做的并不是最容易注射的最佳实践:
const char *sqlStr = [[NSString stringWithFormat:@"CREATE Table '%@' ('Name' 'char(50)','ID' 'integer')",theString]UTF8String];
Run Code Online (Sandbox Code Playgroud)
所以我试图找到一种方法,允许撇号包含在表名中,并安全地将值插入数据库.我已经阅读了有关绑定值的信息,但是这可以通过'CREATE TABLE'语句实现吗?或者仅当您将数据插入现有表时?
谢谢你的帮助.
jni*_*nic 10
从文档:
通过将字符串括在单引号(')中形成字符串常量.字符串中的单引号可以通过在行中放入两个单引号来编码 - 如Pascal中所示.
从而:
[theString stringByReplacingOccurrencesOfString:@"'" withString:@"''"];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3441 次 |
| 最近记录: |