gpt4 book ai didi

iphone - 使用撇号安全地将数据插入 SQLite 数据库

转载 作者:IT王子 更新时间:2023-10-29 06:27:48 26 4
gpt4 key购买 nike

我正在尝试根据用户提供的文本在 SQLite 数据库中创建一个表。一切正常,除了当我试图在文本中添加一个撇号(这将是新的表名)时。经过研究,我确定我所做的不是最佳实践,因为它容易受到注入(inject)攻击:

    const char *sqlStr = [[NSString stringWithFormat:@"CREATE Table '%@' ('Name' 'char(50)','ID' 'integer')",theString]UTF8String];

所以我试图找到一种方法,允许在表名中包含撇号并将值安全地插入到数据库中。我已经阅读了有关绑定(bind)值的内容,但这是否可以通过“CREATE TABLE”语句实现?或者仅当您将数据插入到现有表中时?

感谢您的帮助。

最佳答案

来自documentation :

A string constant is formed by enclosing the string in single quotes ('). A single quote within the string can be encoded by putting two single quotes in a row - as in Pascal.

因此:

[theString stringByReplacingOccurrencesOfString:@"'" withString:@"''"];

关于iphone - 使用撇号安全地将数据插入 SQLite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5500401/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com