Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone sqlite3语法错误_Iphone_Syntax_Sqlite - Fatal编程技术网

Iphone sqlite3语法错误

Iphone sqlite3语法错误,iphone,syntax,sqlite,Iphone,Syntax,Sqlite,我对sqlite有一些问题。 但是,当我使用函数时,我想向数据库中插入一些数据 sqlite3_exec(db、sql、0,0和zErrMsg), zErrMsg返回: “\x90”附近的语法错误 代码是: (void) ExecuteCommand:(NSString *)command DBRef:(sqlite3 *)db { const char *sql = [command UTF8String]; char *zErrMsg = 0; sqlit

我对sqlite有一些问题。 但是,当我使用函数时,我想向数据库中插入一些数据

sqlite3_exec(db、sql、0,0和zErrMsg),

zErrMsg返回:

“\x90”附近的
语法错误

代码是:

(void) ExecuteCommand:(NSString *)command DBRef:(sqlite3 *)db
{
    const char *sql = [command UTF8String];    
    char *zErrMsg  = 0;

    sqlite3_exec(db,sql,0,0,&zErrMsg);    
    sqlite3_free(zErrMsg);
}
我以前成功地插入了一些字符。但当我这次尝试时,我失败了。这个问题是由于我这次使用的字符造成的吗

sql语句是:

insert into b_1663 values(1,'1663','    \u7b2c1\u7ae0','\u9752\u86c7','    \u7b2c1\u7ae0

\u6211\u4eca\u5e74\u4e00\u5343\u4e09\u767e\u591a\u5c81\u3002

\u4f4f\u5728\u897f\u6e56\u4e00\u9053\u6865\u7684\u5e95\u4e0b\u3002\u8fd9\u6865\u53eb"\u65ad\u6865"\u3002\u4ece\u524d\u5b83\u4e0d\u53eb\u65ad\u6865\uff0c\u53eb\u6bb5\u5bb6\u6865\u3002

\u51ac\u5929\u3002\u6211\u5403\u9971\u4e86\uff0c\u5341\u5206\u6175\u5012\u5934\u5927\u7761\u3002\u7761\u5728\u8eab\u7554\u7684\u662f\u6211\u59ca\u59ca\u3002\u6211\u4eec\u76d8\u9519\u7ea0\u7f20\u7740\uff0c\u4e0d\u77e5\u4eba\u95f4\u4f55\u4e16\u3002

"\u8fd9\u662f\u9ad8\u4eba\uff01"

\u6211\u95ee\uff1a

"\u548c\u5c1a\u4e5f\u662f\u4eba\uff1f"

\u2014\u2014\u548c\u5c1a\u662f"\u4eba"\uff1f\u8fd9\u4e2a\u96c4\u4f1f\u505a\u5cb8\u7684\u548c\u5c1a\uff0c\u5e94\u8be5\u6bd4\u4eba\u9ad8\u660e\u70b9\u5427\uff1f

\u4ed6\u4e0a\u8def\u4e86\u3002

\u524d\u9762\u662f\u90a3\u8001\u548c\u5c1a\u3002 

');
表格结构:

create table b_1663(
   Num int primary key, 
   b_id varchar(20),
   b_sec_title varchar(50),
   b_name varchar(20),
   content text
);
如果你知道答案,请告诉我。提前谢谢

只是猜测一下:

您可能需要引用字符串(即替换导致解析器呕吐的字符),或者更好的是,使用参数化查询。参数化查询类似于:

sql="insert foo into bar values (?,?)"
sqlexec(sql, data)

你知道,如果我们能看到你试图执行的实际语句,那会有很大帮助。你仍然没有向我们展示你试图执行的SQL语句。我们需要知道SQL包含什么。我正在插入一些汉字。这些都是绝密的,以至于你不能向我们展示你的SQL语句或其他东西吗?什么阻止了你发布它?如果是这样,错误应该出现在第一行
const char*sql=[command UTF8String]不在zErrMsg上。当我创建表时,它工作正常,zErrMsg为零。但是当我插入一些东西时,它有语法错误。问题是由sql语句还是代码引起的?语法错误?因此,您根本无法编译或出现异常?如果zErMsg返回nil,则执行ok。如果zErMsg返回错误,则db不会更改任何内容。