文章詳情頁(yè)
用DBSQL類加快開發(fā)MySQL數(shù)據(jù)庫(kù)程序的速度
瀏覽:2日期:2023-10-26 17:11:01
當(dāng)你在編寫存取MYSQL的數(shù)據(jù)庫(kù)程序時(shí),是不是覺得很麻煩:一大套的函數(shù)和參數(shù),還要檢查調(diào)用的結(jié)果,更頭痛的是每個(gè)程序里都要包含數(shù)據(jù)庫(kù)名、用戶、密碼等,想修改都不容易。但如果你使用PHPLIB里的DBSQL類,這些問(wèn)題都會(huì)迎刃而解的。這篇文章將教你如何使用DBSQL類。;;一、獲得DBSQL;;怎么獲得DBSQL呢,有兩個(gè)辦法:;;- 由于DBSQL是PHPLIB的一部分,你可以從本站或http://phplib.netuse.de下載一份PHPLIB;;- 直接從本站下載DBSQL類,我已經(jīng)把它獨(dú)立了,并做了一些小的修改。下載地址:http://www.phpuser.com/programs_and_code/codedetail.php?id=3;;二、修改DBSQL文件。;;打開文件,找到大約138行處,把$Host, $Database, $User, $Password等四個(gè)變量改成你機(jī)器上的值。;;三、使用DBSQL;;就這么簡(jiǎn)單,可以派上用場(chǎng)了了,下面是一個(gè)典型的例子(這里我們假設(shè)DBSQL類存放在db.php文件里):;;<?;;01 require "db.php";;;02 $db=new DBSQL;;;03 $db->connect();;;04 if ($db->Link_ID);;{;;05 $db->query("SELECT id, name FROM contact WHERE id > 100 AND id;;< 200");;;06 if ($db->nf());;{;;07 while ($db->next_record());;{;;08 echo "id=", $db->f("id");;;09 echo "<br>";;;10 echo "name";;;11 $db->p('name');;;12 echo "<br>";;;};;};;13 $db->free_result();;;};;?>;;我來(lái)逐行解釋一下:;;01-將db.php文件包含進(jìn)來(lái);;02-創(chuàng)建一個(gè)DBSQL類的實(shí)例,變量名為:$db;;03-調(diào)用DBSQL的connect()方法,連接數(shù)據(jù)庫(kù)。這行的作用跟mysql_pconnect(host,;;db, passwd)一樣;;04-通過(guò)檢查$db的屬性Link_ID的值來(lái)判斷連接是否成功。一般來(lái)說(shuō)只要配置沒(méi)問(wèn)題,這步可以省略的;;05-如果連接沒(méi)問(wèn)題,就調(diào)用DBSQL類的query方法來(lái)執(zhí)行查詢;;06-DBSQL類的nf()函數(shù)返回查詢后返回的記錄的條數(shù),跟mysql_num_rows()的作用一樣。如果找到了記錄,繼續(xù)執(zhí)行;;07-用一個(gè)while循環(huán),以DBSQL的next_record()方法為條件。next_record()方法把DBSQL類的結(jié)果的指針往下移一條,如果到了結(jié)尾,就返回假值;;08-用DBSQL類的f()方法取回查詢結(jié)果當(dāng)前一行的某個(gè)字段的值。該方法的參數(shù)是字段的名字,如$db->f("id");;11-用DBSQL類的p()方法。p()方法與f()方法不同的是它把查詢結(jié)果當(dāng)前一行的某個(gè)字段的值直接輸出了。該方法的參數(shù)是與f()方法一樣也是字段的名字,如$db->p("id");;13-釋放PHP占用的內(nèi)存。相當(dāng)于調(diào)用了mysql_free_result函數(shù);;DBSQL的基本用法就是這樣,當(dāng)然還有其他一些,我在下面來(lái)介紹。;;四、其他內(nèi)容;;Auto_free屬性:如果設(shè)為真值,當(dāng)調(diào)用next_record()方法到達(dá)查詢結(jié)果的結(jié)尾時(shí),DBSQL自動(dòng)執(zhí)行free_result()方法,釋放占用的內(nèi)存;;DebugMode屬性:如果設(shè)為真值,在執(zhí)行query()方法時(shí),會(huì)把查詢的SQL語(yǔ)句打印出來(lái),所以在做調(diào)試時(shí)特別有用;;seek()方法:移動(dòng)DBSQL查詢結(jié)果的指針,第一個(gè)為0;;num_rows()方法:跟nf()方法一樣,返回查詢結(jié)果的記錄條數(shù);;metadata()方法:以表名為參數(shù),返回一個(gè)包括該表的結(jié)果的數(shù)組;
標(biāo)簽:
MySQL
數(shù)據(jù)庫(kù)
排行榜
