mysql adodb 常用的adodb使用方法

2021-10-18 08:51:22 字數 4179 閱讀 2748

如有錯誤之處,敬請諒解,並qq或e-mail通知我,謝謝*///定義資料庫變數$db_type="mysql";$db_host="localhost";$db_user="root";$db_pass="";$db_database="ai-part";require_once("../adodb/adodb.inc.php");$db=newadoconnection("$db_type");//建立資料庫物件$db->debug=true;//資料庫的debug測試,程式開發期,可設定為true,正式版要注釋掉這行,(預設值是false)$adodb_fetch_mode=adodb_fetch_assoc;/*返回的記錄集形式

define('adodb_fetch_default',0);

define('adodb_fetch_num',1);

define('adodb_fetch_assoc',2);

define('adodb_fetch_both',3);

以上的常量,是在adodb.inc.php裡定義的,也就是$adodb_fetch_mode 這個變數可以設定的值

常用的是:adodb_fetch_num 或 adodb_fetch_assoc

adodb_fetch_num   返回的記錄集中的索引,是數字形式,即資料庫欄位的排序順序值

adodb_fetch_assoc 返回的記錄集中的索引,是原資料庫欄位名

adodb_fetch_both 和 adodb_fetch_default 是同時返回 adodb_fetch_num, adodb_fetch_assoc的值,某些資料庫不支援

an example:

$adodb_fetch_mode = adodb_fetch_num;

$rs1 = $db->execute('select * from table');

$adodb_fetch_mode = adodb_fetch_assoc;

$rs2 = $db->execute('select * from table');

print_r($rs1->fields); # 返回的陣列是: array([0]=>'v0',[1] =>'v1')

print_r($rs2->fields); # 返回的陣列是: array(['col1']=>'v0',['col2'] =>'v1')*///連線資料庫,方法有connect,pconnect,nconnect,一般使用connect. nconnect是連線特殊的資料庫時才用if(!@$db->connect("$db_host","$db_user","$db_pass","$db_database")) /*$db->  $rs-> 此類的使用方法

execute($sql,$inputarr=false),執行引數中的$sql語句,後面的那個$inputarr引數,一般情況下不需要

selectlimit($sql,$numrows=-1,$offset=-1,$inputarr=false) $numrows:取幾條記錄,$offset,從第幾條開始取,selectlimit,一般是用於分頁,或只取出幾條記錄的時候用*///example: 取出多個記錄$sql="select * from table order by id desc";if(!$rs=$db->execute($sql)) while(!$rs->eof) $rs->close();//關閉它,以便釋放記憶體,每次操作完都進行一次關閉,養成程式設計的好習慣

//插入新記錄$sql="insert table (user_type,username) values (3, 'liucheng')";$db->execute($sql);//更新記錄$sql="update table set user_type=3 where id=2";$db->execute($sql);//刪除記錄$sql="delete from table where id=2";$db->execute($sql);//取單個記錄

//$db->getrow($sql), 取出sql中的第一條記錄,並返回乙個陣列,如果出錯,則返回false$sql="select username,password,user_type from table where id=3";$data_ary=$db->getrow($sql);if($data_ary==false) else//這裡沒有用到$rs,則不需要$rs->close();

//另一種方法 (使用上面的方法比較好,又方便)$sql="select username,password,user_type from table where id=3";if(!$rs=$db->execute($sql)) if(!$result=$rs->fetchrow()) else//$db->getone($sql) 取出sql中的第一條記錄的第乙個欄位的值,如果出錯,則返回false$sql="select count(id) from table";$record_nums=$db->getone($sql);echo$record_nums;$sql="select username,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())

注意:content= 等號右邊,沒有單引號*/$sql="update table set content=".$db->qstr($content)."where id=2";$db->execute($sql);/*$db->insert_id(),無引數,返回剛剛插入的那條記錄的id值,僅支援部分資料庫,帶auto-increment功能的資料庫,如postgresql, mysql 和 ms sql*///example:$sql="insert table (user_type,username) values (3, 'liucheng')";$db->execute($sql);$data_id=$db->insert_id();echo$data_id;/*$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 (id, user_type,username) values (".$user_id.", 3, 'liucheng')";$db->execute($sql);/*$rs->recordcount(),取出記錄集總數,無引數

它好像是把取出的記錄集,用count()陣列的方法,取得資料的數量

如果取大量資料,效率比較慢,建議使用sql裡的count(*)的方法

$sql = "select count(*) from table", 用此方法時,不要在sql裡加order by,那樣會降低執行速度

example:*/$sql="select * from table order by id desc";if(!$rs=$db->execute($sql)) $record_nums=$rs->recordcount();/*如果想對某一結果集,要進行兩次同樣的迴圈處理,可以用下面方法

以下,只是乙個例子,只為說明$rs->movefirst()的使用方法*/$sql="select * from table order by id desc";if(!$rs=$db->execute($sql)) $username_ary=array();while(!$rs->eof) $username_ary=array_unique($username_ary);$rs->movefirst();//將指標指回第一條記錄,無引數while(!$rs->eof) $rs->close();/*當本頁程式,對資料庫的操作完畢後,要$db->close();*/$db->close();/*乙個不錯的方法*/if(isset($db)) {$db->close();

ad18常用快捷鍵可以修改嗎 AD 常用快捷鍵記錄

目錄 一 通用快捷鍵 1 放大縮小 常用方法,ctrl 滑鼠滾輪,滑鼠中鍵 移動滑鼠,pgup pgup。2 切換不同的佈線層 ctrl shift 滑鼠滾輪 3 在sch或者pcb 同一平面內左右翻 ctrl x 4 在sch或者pcb 同一平面內上下翻 ctrl y 5 放置元件的時候變換方向 ...

AD轉換時常用的濾波方法(1)

在ad採集中經常要用到數字濾波,而不同情況下又有不同的濾波需求,下面是10種經典的軟體濾波方法的程式和優缺點分析 1 限幅濾波法 又稱程式判斷濾波法 2 中位值濾波法 3 算術平均濾波法 4 遞推平均濾波法 又稱滑動平均濾波法 5 中位值平均濾波法 又稱防脈衝干擾平均濾波法 6 限幅平均濾波法 7 ...

領益科技 AD中常用的命令

1 檢視客戶機使用哪台dc進行登入的 在客戶端cmd下執行 set命令可以檢視使用哪台dc登入。2 使用命令把客戶端加入到域 3 活動目錄使用者和計算機 dsa.msc 活動目錄站點和服務 dssite.msc 活動目錄域和信任關係 domain.msc 組策略編輯工具 gpmc.msc 4 活動目...