通用接口

2018-02-07 12:27 更新
  • 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下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号