Sqlite SQL格式化输入函数splite3_mprintf
来源:互联网 发布:菜刀连接数据库 编辑:程序博客网 时间:2024/05/21 06:43
sqlite中,
参考:
在使用sql语句写入字符串数据时,
由于字符数据中可能隐含转义字符,
如果对于他们不作处理,执行时,exec函数将不识别,或者造成注入攻击
这个时候sqlite_mprintf(),
应该就是必须使用了,配合‘%q’将字符数据中的转义字符,直接转换,
就不用担心字符串中含有‘单引号,这样造成sql语句不识别的问题。
For example, assume the string variable zText contains text as follows:
char *zText = "It's a happy day!";
One can use this text in an SQL statement as follows:
char *zSQL = sqlite3_mprintf("INSERT INTO table VALUES('%q')", zText);sqlite3_exec(db, zSQL, 0, 0, 0);sqlite3_free(zSQL);
Because the %q format string is used, the '\'' character in zText is escaped and the SQL generated is as follows:
INSERT INTO table1 VALUES('It''s a happy day!')
This is correct. Had we used %s instead of %q, the generated SQL would have looked like this:
INSERT INTO table1 VALUES('It's a happy day!')
http://www.sqlite.org/c3ref/mprintf.html
- Sqlite SQL格式化输入函数splite3_mprintf
- Sqlite SQL格式化输入函数splite3_mprintf
- scanf函数格式化输入
- sql 时间格式化函数
- sql 格式化 日期函数
- sql 时间格式化函数
- SQL 日期格式化函数
- sql 时间格式化函数
- sql 时间格式化函数
- SQL 时间格式化函数
- linux 格式化输出输入函数
- 54_格式化输入函数
- C语言scanf()函数:格式化输入函数
- C语言scanf()函数:格式化输入函数
- Sql Server 日期格式化函数
- Sql Server 日期格式化函数
- Sql Server 日期格式化函数
- SQL CONVERT函数 时间格式化
- 如何保证在Jsp 或Html 里table或div不因插入form而改变大小
- Android 调用打电话和发短信功能
- 算法学习之排序学习之快速排序
- MPLS学习笔记
- NotificationManager(二)
- Sqlite SQL格式化输入函数splite3_mprintf
- Debian+Nginx+PHP(FastCGI)+MySQL搭建LNMP服务器(三版)
- NotificationManager(三)
- ios简单使用core data
- redis一些常见常用的配置参数的简单说明
- 获取PE文件自校验值
- 避免QComboBox下拉选项重复的好方法,一试就爽
- intellij创建快捷方式到桌面
- 委托代理(degegate)的理解和使用示例