複製程式碼 程式碼如下:
//定義資料庫變數
$DB_TYPE = "localhost";
$DB_USER = "root";
$DB_PASS = "";
$DB_DATABASE = "ai-part"; 🎜>$db = NewADOConnection("$DB_TYPE") ;//建立資料庫物件
$db->debug = true;//資料庫的DEBUG測試,預設值為false
/ ***
回傳的記錄集形式
define('ADODB_FETCH_DEFAULT',0); B_FETCH_ASSOC',2);
define('ADODB_FETCH_BOTH',3);
上述常數,adodb.inc.php裡定義了,也就是可用"$ADODB_FETCH_MODE=2"方式 即資料庫欄位的排序順序值
ADODB_FETCH_ASSOC 傳回的記錄集中的索引,是原資料庫欄位名稱
ADODB_FETCH_BOTHC且 ADOD 某些資料庫不支援
An example:
$ADODB_FETCH_MODE = Execute('select * from table');
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC $rs2 = $db->Execute('select * from table');
print_r($rs 1->00) >'v1')
print_r($rs2->fields); # 回傳的陣列為: array(['col1']=>'v0',['col2'] array(['col1']=>'v0',['col2'] => //連結資料庫,方法有Connect,PConnect,NConnect,一般使用Connect
if (!@$db->Connect("$1_HOST", , "$DB_DATABASE")) {
exit('伺服器忙碌,請
$ db-> $rs-> 此類的使用方法
Execute($sql),使用參數中的$sql語句
SelectLimit($sql,$numrows=-110$ :取幾筆記錄,$offset,從第幾條開始取,一般是用於分頁,或只取出幾筆記錄的時候用
*/ if (!$rs = 語句 > echo $db->ErrorMsg();//這個是列印出錯資訊
$db->Close();//關閉資料庫
}
while (!$ rs->EOF) {//遍歷記錄集
echo $rs->fields['username'] . '
, rs ->fields['字段名'],回傳的是這個欄位裡的值
$rs->MoveNext();//將指標指到下一個記錄,否則出現死循環!
$rs->Close();//關閉以便釋放記憶體
//插入新記錄
$
$db->Execute($sql);
//更新記錄
$sql = 問$db->Execute($sql) ;
//刪除記錄
$sql = "Delete FROM table Where
// 取單一紀錄
// $。 = $db->GetRow($sql);
if ($data_ary == false) { exit();
} else {
echo $data_ary['username'] . ' ' . $data_ary['password'] . ' ' . $data_ary['user_type'] . 》
$sql = "Select username,password,user_type FROM table Where id=3";
if (!$rs echo $db->ErrorMsg ();
$db->Close();
(!$result = $rs->FetchRow()) {
echo '中找到此記錄';
exit();
} else { . $result['password'] . ' ' . $result['user_type'] . '
';
}
// 取單一欄位
//$db->GetOne($sql) 取出第一筆記錄的第一個欄位的值,錯誤則回傳false ) FROM table";
$record_nums = $db->GetOne($sql); name,password,user_type FROM table Where user_id=1";
$result = $db->GetOne($sql);
echo $result;//列印出username的值
要對字串型的欄位,使用$db->qstr()對使用者輸入的字元進行處理,
對數位型欄位,要進行資料判斷
更新記錄,注意:這是針對php. ini中,magic_quotes設定為Off的情況,如果不確定,可以使用
$db->qstr($content,get_magic_quotes_gpc()) "Update table SET c
$db->Execute($sql);
/*$db->Insert
/*$db->Insert_ID(ID),無條的記錄返回值部分資料庫,含auto-increment功能的資料庫,如PostgreSQL, MySQL 及 MS SQL
*/ $db->Execute($sql);
$data_id = $db-
/*$db->GenID($ seqName = 'adodbseq',$startID=1),產生一個ID值.$seqName:用於產生此ID的資料庫表名,$startID:起始值,一般不用設定,它會把$seqName中的值自動加1.支援部分資料庫,某些資料庫不支援
Insert_ID,GenID,一般我用GenID,使用它的目的,是在插入記錄後,要馬上得到它的ID時才用
/*Example:
先建立一個列名為user_id_seq的表,裡面只有一個欄位,id,int(10),NOT NULL,然後插入一個值為0的記錄 >$user_id = $db->GenID('user_id_seq');
$sql = "Insert table (idusernamesŠ款
$db->Execute($sql);
/*
$rs->RecordCount(),,記憶集總數,無參數取出資料好像 陣列的方法,取得資料的數量
如果取大量資料,效率比較慢,建議使用SQL裡的COUNT(*)的方法
$sql 時,不要在SQL裡加ORDER BY,那樣會降低執行速度
Example:
*/
if (!$rs = $db->Execute($sql)) {
echo $db->ErrorMsg(); exit();
}
$record_nums = $rs->RecordCount();
/*
若想對某一結果進行兩次相同的循環處理,可以使用以下方法
例,只為說明$rs->MoveFirst()的使用方法
*/
$sql = "Select * FROMtable rs = $db-> Execute($sql)) {
echo $db->ErrorMsg(); exit();
}
$username_ary = array() ;
while (!$rs->EOF) {
echo $rs->fields['username'] . '
';//print_r($rs->fields)試試,$rs->fields['字段名'],返回的是這個字段裡的值
$rs->MoveNext();//將指標指向下一筆記錄,不用的話,會出現死迴圈!
}
$username_ary = array_unique($username_ary);指針指回第一筆記錄
while (!$rs->EOF) {
echo $rs->fields[']試試看/$/$ rs->fields['字段名'],回傳的是這個欄位裡的值
$rs->MoveNext();//將指針指涉下一筆記錄 Close();
//當本頁程式,對資料庫的操作完成後,要$db->Close(); */
if (isset($db)) {
以上就介紹了dob 常用的php ADODB使用方法集錦,包括了dob方面的內容,希望對PHP教程有興趣的朋友有所幫助。