系統(tǒng)會(huì)自動(dòng)載入 dedesql.class.php 文件,并用
$dsql = $db = new DedeSql(false);
進(jìn)行初始化數(shù)據(jù)庫連接,因此在工程所有文件中均不需要單獨(dú)初始化這個(gè)類,可直接用 $dsql 或 $db
進(jìn)行操作,為了防止錯(cuò)誤,操作完后不必關(guān)閉數(shù)據(jù)庫。
常用的方法:
1、執(zhí)行一個(gè)非查詢類型的SQL語句,如 insert 、create 、update 等
$rs = $db->ExecuteNoneQuery($sql);
返回值為是否執(zhí)行成功。
2、執(zhí)行一個(gè)非查詢類型的SQL語句,并返回成功記錄數(shù)
$rs = $db->ExecuteNoneQuery2($sql);
與上面相比,它返回的是影響的記錄數(shù),而不是布爾值
3、返回單個(gè)記錄
$arr = $db->GetOne($sql);
$dsql
如果不帶 limit ,系統(tǒng)會(huì)自動(dòng)加上 limit 0,1
4、執(zhí)行條件查詢語句
$db->SetQuery($dsql);
$db->Execute();
while($arr = $db->GetArray())
{
}
可以簡(jiǎn)化為:
$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())
{
}
}
像這種情況必須指定一個(gè)值區(qū)分默認(rèn)的'me'參數(shù),否則會(huì)出錯(cuò)
$db->GetArray($rsid,$acctype) 參數(shù)
$rsid="me"
$acctype=MYSQL_ASSOC
在查詢游標(biāo)中讀取數(shù)據(jù)還可以用
$db->GetObject($rsid="me");
返回的結(jié)果是用類結(jié)構(gòu)表示的值。
5、獲取上一個(gè)插入的自動(dòng)遞增主鍵id值
$db->GetLastID();
6、獲得查詢的總記錄數(shù)
$db->GetTotalRow($rsid="me")
7、獲得MySql的版本號(hào)
$db->GetVersion($isformat=true)
默認(rèn)的情況下會(huì)轉(zhuǎn)換成 x.xx 形式浮點(diǎn)數(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)識(shí)
$db->linkID
獲得這個(gè)連接標(biāo)識(shí)后,可以直接用mysql相關(guān)函數(shù)進(jìn)行數(shù)據(jù)庫操作
在非不得已的情況,項(xiàng)目中一般不使用這個(gè)變量。
版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會(huì)員發(fā)布,如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!
轉(zhuǎn)載請(qǐng)注明: 織夢(mèng)(dedecms)數(shù)據(jù)庫類常用操作函數(shù)GetOne()、Execute()分析