当前位置:  开发笔记 > 数据库 > 正文

如何在c中插入sqlite3中的任何字符串

如何解决《如何在c中插入sqlite3中的任何字符串》经验,为你挑选了1个好方法。

我必须在sqlite数据库中插入一个字符串我的命令..

Err=sqlite_exec(DB, "create table tbl5(TEXT varchar(100));", xCallback, (void*)"First Test", &ErrMsg);

Err=sqlite_exec(DB, "insert into tbl5 values  ('some string');", xCallback, (void*)"First Test", &ErrMsg); 

工作正常,但当我想把s="some string"ie

Err=sqlite_exec(DB, "insert into tbl5 values  (s);", xCallback, (void*)"First Test", &ErrMsg); 

那么这是不行的所以如何添加变量然后它是不工作所以如何在sqlite数据库中插入变量谢谢你



1> ereOn..:

不要使用sprintf()但是sqlite3_mprintf().这是文档.

char s[20] = "some string";
char* query = sqlite3_mprintf("insert into tbl5 values ('%q');", s);

否则您有SQL注入的风险.

应使用释放生成的查询字符串sqlite3_free().

还要注意'%q'而不是通常的'%s'.

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有