通用接口

2018-02-07 12:27 更新
  • addslashes的處理

              僅insert(),update(),delete() 方法對傳入其的數(shù)組形式的參數(shù)進(jìn)行 intval 或 addslashes 安全處理,字符串形式的參數(shù)將不處理。



  • SQL 語句 format 的支持


例:查詢20個用戶uid大于100的用戶數(shù)據(jù),以uid為返回結(jié)果數(shù)組的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直接使用不進(jìn)行處理

     建議所有的查詢語句都使用上述格式方式,以增強(qiáng)安全性。



  • 返回值的處理


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



  • 常用操作符(具體實現(xiàn)代碼查看./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 = '=')  根據(jù)$glue值返回mysql查詢的where限定條件,$glue可用值:=、+、-、|、&、^、>、<、<>、<=、>=、like、in、notin;

  5. DB::fetch_all($sql, $arg = array(), $keyfield = '', $silent=false)  數(shù)組方式返回查詢多條記錄數(shù)據(jù),且可以設(shè)置數(shù)據(jù)的 KEY 值使用某字段值;

  6. DB::fetch_first($sql, $arg = array(), $silent = false)  數(shù)組方式返回一條記錄;

  7. DB::result_first($sql, $arg = array(), $silent = false)  返回一條記錄的第一個字段的值;

  8. DB::query($sql, $arg = array(), $silent = false, $unbuffered = false)   通用查詢語言,返回查詢結(jié)果;

  9. DB::insert($table, $data, $return_insert_id = false, $replace = false, $silent = false)  插入一條數(shù)據(jù);

  10. DB::delete($table, $condition, $limit = 0, $unbuffered = true)  根據(jù)$condition刪除符合條件的記錄;

  11. DB::update($table, $data, $condition, $unbuffered = false, $low_priority = false) 更新符合條件的記錄;

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號