Discuz!X/數(shù)據(jù)庫 DB:: 函數(shù)操作方法大全

備用查詢


DB::table($tablename)獲取正確帶前綴的表名,轉(zhuǎn)換數(shù)據(jù)庫句柄,
DB::delete($tablename, 條件,條數(shù)限制)刪除表中的數(shù)據(jù)
DB::insert($tablename, 數(shù)據(jù)(數(shù)組),是否返回插入ID,是否是替換式,是否silent)插入數(shù)據(jù)操作
DB::update($tablename, 數(shù)據(jù)(數(shù)組)條件)更新操作
DB::fetch(查詢后的資源)從結(jié)果集中取關(guān)聯(lián)數(shù)組,注意如果結(jié)果中的兩個或以上的列具有相同字段名,最后一列將優(yōu)先。
DB::fetch_first($sql)取查詢的第一條數(shù)據(jù)fetch
DB::fetch_all($sql)查詢并fetch
DB::result_first($sql)查詢結(jié)果集的第一個字段值
DB::query($sql)普通查詢
DB::num_rows(查詢后的資源)獲得記錄集總條數(shù)
DB::_execute(命令,參數(shù))執(zhí)行mysql類的命令
DB::limit(n,n)返回限制字串
DB::field(字段名, $pid) 返回條件,如果為數(shù)組則返回 in 條件
DB::order(別名, 方法)排序
注意事項:所有數(shù)據(jù)在插入數(shù)據(jù)庫之前,均需要進行addslashes()處理,以免特殊字符未經(jīng)轉(zhuǎn)義在插入數(shù)據(jù)庫的時候出現(xiàn)錯誤。Discuz!中所有通過 GET, POST, FILE,取得的變量默認情況下已經(jīng)使用了addslashes()進行了轉(zhuǎn)義,不必重復進行。如果數(shù)據(jù)處理必要(例如用于直接顯示),可以使用 stripslashes() 恢復,但數(shù)據(jù)在插入數(shù)據(jù)庫之前必須再次進行轉(zhuǎn)義。緩存文件中,一般對緩存數(shù)據(jù)的值采用 addcslashes($string, ''\')進行轉(zhuǎn)義。
最常見的查詢數(shù)據(jù)庫舉例:
獲取單條數(shù)據(jù):
$rs = DB::fetch_first("SELECT * FROM ".DB::table('common_member')." WHERE uid=1");
這里獲取的是UID為1的用戶的數(shù)據(jù),但是discuz內(nèi)還有一個getuserbyuid可以獲取用戶數(shù)據(jù)
獲取多條數(shù)據(jù):
$rs = DB::fetch_all("SELECT * FROM " .DB::table('common_member')." WHERE uid in(1,2,3,4,5,6)");
這里獲取的是UID為1 2 3 4 5 6的用戶的信息
插入數(shù)據(jù)講解
調(diào)用方式:DB::insert()
說明:關(guān)于是否是否。只要值為1就是 是,否就直接無視或者留空
舉例:
首先是存在一個表名為pre_test
表內(nèi)有以下字段:id(遞增) name uid 字段類型就別管了
if(DB::insert('test',array('id'=>NULL,'name'=>'me','uid'=>1))) showmessage("數(shù)據(jù)插入成功");
說明:這邊的數(shù)組的鍵名就是數(shù)據(jù)表中的字段名,鍵值就是插入的對應(yīng)字段的值
DB::fetch_all('SELECT * FROM %t WHERE panel=%d', array($this->_table, $panel), 'uid');
DB::fetch_all('SELECT * FROM %t WHERE uid=%d ORDER BY dateline DESC', array($this->_table, $uid), 'bid') : array();

注:
DZ中%號會當做參數(shù),需要你傳入,首先第一個你可以使用DB::table($this->_table)代替,第二個你可以用實實在在的表明,第三個的話你可以吧數(shù)值計算出來后填進去,這樣的話應(yīng)該就不會出現(xiàn)問題了

DB::update('表名',"array('name'=>'王剛','年齡'=>28)","id=$uid");

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容