当前位置: 技术问答>linux和unix
C处理SQL命令字符串的函数哪里有?
来源: 互联网 发布时间:2016-04-21
本文导语: 大家好,碰到一个恼人的问题。我用C语言操作SQLITE数据库,假若字符串变量里含有特殊字符,系统就会报错。请问有什么函数可以处理? char sql[128]; const char* username = "hello'world"; //这里有单引号 ...
大家好,碰到一个恼人的问题。我用C语言操作SQLITE数据库,假若字符串变量里含有特殊字符,系统就会报错。请问有什么函数可以处理?
实际sql里的字符串成了:
SELECT id FROM userinfo WHERE username = 'hello'world'
感谢大家献计!
char sql[128];
const char* username = "hello'world"; //这里有单引号
sprintf(sql, "SELECT id FROM userinfo WHERE username = '%s'", username);
sqlite3_get_table(db,sql,&userinfo,&nrow,&ncol,&errmsg); //这里用的变量前面都定义过
实际sql里的字符串成了:
SELECT id FROM userinfo WHERE username = 'hello'world'
感谢大家献计!
|
sprintf(sql, "SELECT id FROM userinfo WHERE username = "%s"", username);
再试
再试
|
可以用双引号将SQL语句的字符串包起来,MySQL是支持的,不知道你用的数据库支持不支持,你试试看。
const char* username = "hello'world"; //这里有单引号
sprintf(sql, "SELECT id FROM userinfo WHERE username = "%s"", username);