系統(tǒng)會自動載入 dedesql.class.php 文件,并用
$dsql = $db = new DedeSql(false);
進(jìn)行初始化數(shù)據(jù)庫連接,因此在工程所有文件中均不需要單獨初始化這個類,可直接用 $dsql 或 $db 進(jìn)行操作,為了防止錯誤,操作完后不必關(guān)閉數(shù)據(jù)庫。
常用的方法:
1、執(zhí)行一個非查詢類型的SQL語句,如 insert 、create 、update 等
$rs = $db->ExecuteNoneQuery($sql);
返回值為是否執(zhí)行成功。
2、執(zhí)行一個非查詢類型的SQL語句,并返回成功記錄數(shù)
$rs = $db->ExecuteNoneQuery2($sql);
與上面相比,它返回的是影響的記錄數(shù),而不是布爾值
3、返回單個記錄
$arr = $db->GetOne($sql);
$dsql 如果不帶 limit ,系統(tǒng)會自動加上 limit 0,1
4、執(zhí)行條件查詢語句
$db->SetQuery($dsql);
$db->Execute();
while($arr = $db->GetArray())
{
}
可以簡化為:
$db->Execute('me',$dsql);
while($arr = $db->GetArray())
{
}
'me' 為記錄集游標(biāo),用于區(qū)分不同的查詢,如:
$db->Execute('me',$dsql);
while($arr = $db->GetArray())
{
$db->Execute('2',$dsql2);
while($arr2 = $db->GetArray())
{
}
}
像這種情況必須指定一個值區(qū)分默認(rèn)的'me'參數(shù),否則會出錯
$db->GetArray($rsid,$acctype) 參數(shù)
$rsid="me"
$acctype=MYSQL_ASSOC
在查詢游標(biāo)中讀取數(shù)據(jù)還可以用
$db->GetObject($rsid="me");
返回的結(jié)果是用類結(jié)構(gòu)表示的值。
5、獲取上一個插入的自動遞增主鍵id值
$db->GetLastID();
6、獲得查詢的總記錄數(shù)
$db->GetTotalRow($rsid="me")
7、獲得MySql的版本號
$db->GetVersion($isformat=true)
默認(rèn)的情況下會轉(zhuǎn)換成 x.xx 形式浮點數(shù)
8、析放某查詢的資源
$db->FreeResult($rsid="me");
9、在數(shù)據(jù)庫中是否存在某數(shù)據(jù)表
$db->IsTable($tbname)
10、重新選擇要操作的數(shù)據(jù)庫
$db->SelectDB($dbname);
11、獲得數(shù)據(jù)庫連接標(biāo)識
$db->linkID
獲得這個連接標(biāo)識后,可以直接用mysql相關(guān)函數(shù)進(jìn)行數(shù)據(jù)庫操作
在非不得已的情況,項目中一般不使用這個變量。