標籤:one back 目錄 ast pre date 主鍵 free div
dedecms二次開發目錄點這個:dedecms二次開發教程目錄
系統會自動載入 dedesql.class.php 檔案,並用
$dsql = $db = new DedeSql(false);
進行初始化資料庫連接,因此在工程所有檔案中均不需要單獨初始化這個類,可直接用 $dsql 或 $db 進行操作,為了防止錯誤,操作完後不必關閉資料庫。
常用的方法:
1、執行一個非查詢類型的SQL語句,如 insert 、create 、update 等
$rs = $db->ExecuteNoneQuery($sql);
傳回值為是否執行成功。
2、執行一個非查詢類型的SQL語句,並返回成功記錄數
$rs = $db->ExecuteNoneQuery2($sql);
與上面相比,它返回的是影響的記錄數,而不是布爾值
3、返回單個記錄
$arr = $db->GetOne($sql);
$dsql 如果不帶 limit ,系統會自動加上 limit 0,1
4、執行條件查詢語句
$db->SetQuery($dsql);$db->Execute();while($arr = $db->GetArray()){}$db->SetQuery($dsql);$db->Execute();while($arr = $db->GetArray()){}
可以簡化為:
$db->Execute(‘me‘,$dsql);while($arr = $db->GetArray()){}$db->Execute(‘me‘,$dsql);while($arr = $db->GetArray()){}
‘me‘ 為記錄集遊標,用於區分不同的查詢,如:
$db->Execute(‘me‘,$dsql);while($arr = $db->GetArray()){$db->Execute(‘2‘,$dsql2);while($arr2 = $db->GetArray()){}}$db->Execute(‘me‘,$dsql);while($arr = $db->GetArray()){$db->Execute(‘2‘,$dsql2);while($arr2 = $db->GetArray()){}}
像這種情況必須指定一個值區分預設的‘me‘參數,否則會出錯
$db->GetArray($rsid,$acctype) 參數$rsid="me"$acctype=MYSQL_ASSOC
在查詢遊標中讀取資料還可以用
$db->GetObject($rsid="me");
返回的結果是用類結構表示的值。
5、擷取上一個插入的自動遞增主鍵id值
$db->GetLastID();
6、獲得查詢的總記錄數
$db->GetTotalRow($rsid="me")
7、獲得MySql的版本號碼
$db->GetVersion($isformat=true)
預設的情況下會轉換成 x.xx 形式浮點數
8、析放某查詢的資源
$db->FreeResult($rsid="me");
9、在資料庫中是否存在某資料表
$db->IsTable($tbname)
10、重新選擇要操作的資料庫
$db->SelectDB($dbname);
11、獲得資料庫連接標識
$db->linkID
獲得這個串連標識後,可以直接用mysql相關函數進行資料庫操作
在非不得已的情況,項目中一般不使用這個變數。
dedecms二次開發:dedesql.class.php 資料庫類