codecamp

通用接口

  • addslashes的处理

              仅insert(),update(),delete() 方法对传入其的数组形式的参数进行 intval 或 addslashes 安全处理,字符串形式的参数将不处理。



  • SQL 语句 format 的支持


例:查询20个用户uid大于100的用户数据,以uid为返回结果数组的key
$arr = DB::fetch_all('SELECT * FROM %t WHERE uid>%d LIMIT %d', array('user', '100', '20'), 'uid');

      支持的fomat有:

 %tDB::table()
 %dintval()
 %saddslashes()
 %nin IN (1,2,3)
 %fsprintf('%f', $var)
 %i直接使用不进行处理

     建议所有的查询语句都使用上述格式方式,以增强安全性。



  • 返回值的处理


  • 在非UNBUFFERED的情况下:INSERT SQL 语句返回 insert_id();UPDATE 和 DELETE SQL 语句返回 affected_rows()



  • 常用操作符(具体实现代码查看./core/class/dzz/dzz_database.php)

  1.  DB::table($table)   $table为不带表前缀的表名称  返回完整的表名称供查询使用;

  2.  DB::limit($start,$limit=0)  返回mysql查询的limit限定条件;

  3.  DB::order($field, $order = 'ASC')   返回mysql查询的order by限定条件;

  4.  DB::field($field, $val, $glue = '=')  根据$glue值返回mysql查询的where限定条件,$glue可用值:=、+、-、|、&、^、>、<、<>、<=、>=、like、in、notin;

  5. DB::fetch_all($sql, $arg = array(), $keyfield = '', $silent=false)  数组方式返回查询多条记录数据,且可以设置数据的 KEY 值使用某字段值;

  6. DB::fetch_first($sql, $arg = array(), $silent = false)  数组方式返回一条记录;

  7. DB::result_first($sql, $arg = array(), $silent = false)  返回一条记录的第一个字段的值;

  8. DB::query($sql, $arg = array(), $silent = false, $unbuffered = false)   通用查询语言,返回查询结果;

  9. DB::insert($table, $data, $return_insert_id = false, $replace = false, $silent = false)  插入一条数据;

  10. DB::delete($table, $condition, $limit = 0, $unbuffered = true)  根据$condition删除符合条件的记录;

  11. DB::update($table, $data, $condition, $unbuffered = false, $low_priority = false) 更新符合条件的记录;

输入数据处理
数据层
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Dzz系统框架

输入数据处理

数据DB层

安全相关

上传组件

评论组件

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }