常用:

獲取陣列

$a = DB::fetch_all("SELECT title FROM ".DB::table('abc')." WHERE uid = '".$uid."'");

獲取對應資料表中一條資料的值返回為陣列

$a = DB::fetch(DB::query("SELECT * FROM ".DB::table('abc')." WHERE id = '".$id."'"));

單個資料的呼叫返回為字串

$a = DB::result(DB::query("SELECT qi FROM ".DB::table('abc')." WHERE id = '1'"));

統計資料返回為 int

$a = DB::result(DB::query("SELECT count(*) FROM ".DB::table('abc')." WHERE id = '1'"));

寫入資料 (表名,鍵值陣列,條件)

DB::insert('abc', $setarr, 1);

更新資料 (表名,鍵值陣列,條件)

DB::update('abc', $setarr, 1);

刪除資料 (表名,鍵值陣列,條件)

DB::delete('abc', $setarr, 1);

其他不怎麼用的手冊

DB::table($table) //獲取帶字首的表名  
DB::delete($table, $condition, $limit = 0, $unbuffered = true) //刪除資料  
DB::insert($table, $data, $return_insert_id = false, $replace = false, $silent = false) //插入資料  
DB::update($table, $data, $condition, $unbuffered = false, $low_priority = false)//更新  
DB::insert_id()//返回外掛的自增長 id  
DB::fetch_first($sql, $arg = array(), $silent = false) //取查詢的第一條資料 fetch  
DB::fetch_all($sql, $arg = array(), $keyfield = '', $silent=false) //查詢並 fetch  
DB::result_first($sql, $arg = array(), $silent = false)//查詢結果集的第一個欄位值  
DB::query($sql, $arg = array(), $silent = false, $unbuffered = false) //普通查詢 一條 sql 語句
DB::limit($start, $limit = 0) //limit 條件  
DB::order($field, $order = 'ASC')//返回排序  
DB::field($field, $val, $glue = '=')//返回欄位條件 $val 可以為陣列  

資料庫類定義在目錄 sourceclasstable
使用方法:C::t('tablename')->method();
外掛新增的表 mytablename
放置在目錄:source/plugin/mypluginid/table/table_mytablename.php
使用類名:table_mytablename
使用用法:C::t('#mypluginid#mytablename')->method();

資料庫常用方法

常用詞彙

select 選擇;count 總數;table 表;where 條件;result 結果;perpage 每頁;curpage 當前頁; update 更新;delete 刪除;insert 寫入; dateline 日期;time 時間;multi 分頁函式;if 如果;else 否則;start 起始;limit 限制;DESC 倒序;ASC 正序;

呼叫單條資料

$qishi = DB::result(DB::query("SELECT qi FROM " .DB::table('jiangchi')."WHERE id = '1'));
$qishi ;qi: 欄位;jiangchi :表 ;id = 1 :條件;

呼叫統計資料

$qishi = DB::result(DB::query("SELECT count(*) FROM " .DB::table('jiangchi')."WHERE id = '1'));

單資料表呼叫

$perpage = 20;//頁數
$curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );//獲取當前頁程式碼
$start = ($curpage-1)*$perpage;//獲取起始資料
$askcount = DB::result(DB::query("SELECT COUNT(*) FROM ".DB::table('forum_thread')." WHERE fid = '2' AND authorid > 1 AND FROM_UNIXTIME(dateline, '%Y%m%d') = '$jintian'"));
//$asklist
$asklist = array();
if ($askcount) {//如果有資料
    $query = DB::query("SELECT * FROM ".DB::table('forum_thread')." WHERE fid = '2' AND displayorder > -1 ORDER BY tid ASC LIMIT $start,$perpage");//根據 tid 正序排序,limit 起始到顯示
    while ($value = DB::fetch($query)) {
        $asklist[] = $value;
    }
}
$multi = multi($askcount, $perpage, $curpage, "portal.php?mod=topic&topic=ask");

獲取陣列

$add = DB::fetch_first("SELECT * FROM ".DB::table('peach_webmaster')." WHERE uid=".$uid);

多資料表呼叫

$perpage = 40;
$curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );
$start = ($curpage-1)*$perpage;
$acount = DB::result(DB::query("SELECT count(*) FROM ".DB::table('forum_forum')." b LEFT JOIN ".DB::table('forum_forumfield')." bf ON bf.fid=b.fid WHERE b.type='sub' AND b.status = 3 AND bf.icon != ''"));
//$alist
$alist = array();
if ($acount) {
    $query = DB::query("SELECT bf.*, b.* FROM ".DB::table('forum_forum')." b LEFT JOIN ".DB::table('forum_forumfield')." bf ON bf.fid=b.fid WHERE b.type='sub' AND b.status = 3 AND bf.icon != '' ORDER BY bf.shoplevel DESC, b.commoncredits DESC, bf.fid DESC LIMIT $start,$perpage");
    while ($value = DB::fetch($query)) {
        $alist[] = $value;
    }
}
$multi = multi($acount, $perpage, $curpage, "這裡填寫跳轉地址");

前臺資料顯示



$value[authorid]

人性化時間戳


擷取字元字數

寫入資料庫

if(submitcheck('tijiao')) {
    $setarr = array(
        'tid' => $_GET['topicid'],
        'name' => $_POST['name'],
        'position' => $_GET['position'],
        'dateline' => $_G['timestamp'],
    );
    DB::insert('forum_poststick', $setarr, 1);
    $query = DB::query("UPDATE ".DB::table('forum_thread')." SET stickreply='1' 
        WHERE tid='$tid'");
    $query = DB::query("DELETE FROM ".DB::table('forum_post')." 
        WHERE pid='$pid'");
    showmessage('成功的提示資訊', "forum.php?mod=viewthread&tid=$tid");
}

更新資料庫

        $setarr = array(
            'uid' => $uid,
            'name' => $name,
            'url' => $url,
            'datatime' => $datatime,
        );
        DB::update('peach_webmaster',$setarr,1);

表單提交:

最低獎金:  最高獎金:  

以下兩個時間格式是對等關係

date("Ymd",time()); 20150212
FROM_UNIXTIME(dateline, '%Y%m%d')
前者用於 PHP,後者用於資料庫呼叫的欄位的格式化

呼叫圖片附件