0
[self openDB];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *set = [defaults stringForKey:@"defaultSet"];
if ([set length] > 0) {
NSString *trySql = [NSString stringWithFormat:@"SELECT setName FROM setData WHERE setName = `%@`", set];
sqlite3_stmt *tryStatement;
if (sqlite3_prepare_v2(db, [trySql UTF8String], -1, &tryStatement, nil)==SQLITE_OK) {
NSLog(@"set here");
} else {
NSAssert(0, @"%s", sqlite3_errmsg(db));
sqlite3_close(db);
}
}
所以我返回reason: 'no such column: set'
sqlite3的WHERE语句发出
错误现在,这是我会怎么写,通常只是我会用PDO ::技术.PHP但在目标C是有所不同的。我不确定我是否正确使用它。
我是否需要绑定某种类型的值,或者我是否想要使用行名和/或查找列名?
看起来像你的值中引号的错误类型,但的确使用绑定参数。 – Mat 2015-02-08 09:26:26
@Mat看来改变引号的简单技巧解决了我的问题,然后我可以检查行来确定nsdefault是否仍然适用。这样一个简单的修复一个小时的头痛!谢谢,如果您发布了答案,我会接受。 – user2415313 2015-02-08 09:49:41
啊哈,如果@Mat不想要,你也可以发布你自己的答案。 – 2015-02-08 16:45:04