用DBSQL類別加快開發MySQL資料庫程式的速度_PHP教程

WBOY
發布: 2016-07-21 16:02:42
原創
794 人瀏覽過

當你在寫存取MYSQL的資料庫程式時,你覺得很麻煩:一大套的函數和參數,還要檢查呼叫的結果,更頭痛的是每個程式裡都要包含資料庫名稱、使用者、密碼等,想修改都不容易。但如果你使用PHPLIB裡的DBSQL類,這些問題都會迎刃而解的。這篇文章將教你如何使用DBSQL類別。


一、拿到DBSQL  

怎麼取得DBSQL呢,有兩個方法:  
- 由於DBSQL是PHPLIB的一部分,可以從本站或http:// phplib.netuse.de下載一份PHPLIB  
- 直接從本站下載DBSQL類,我已經把它獨立了,並做了一些小的修改。下載網址:http://www.phpuser.com/programs_and_code/codedetail.php?id=3  

二、修改DBSQL檔。  
開啟文件,找到大約138行處,把$Host, $Database, $User, $Password等四個變數改成你機器上的數值。

三、使用DBSQL  

就這麼簡單,可以派上用場了,下面是一個典型的例子(這裡我們假設DBSQL類別存放在db.php檔案裡):  
  
01 require "db.php";  
02 $db=new DBSQL;  
03 $db->connect();  
04 if ($db-db->connect();  
04 if ($db->Link{  
05 $db->query("SELECT id, name FROM contact WHERE id > 100 AND id  
06 if ($db->nf()) {  
07 while ($db->next_record())  
{  
08 echo "id=", $db->f("id");  
09 echo "
" ;  
10 echo "name";  
11 $db->p('name');  
12 echo "
";  
}  
db 🎜>db ->free_result();  
}  
?>  
我逐行解釋:  
01-將db.php檔案包含進來  
02-建立一個一個DBSQL類別的實例,而建立一個變數的實例名稱為:$db  
03-呼叫DBSQL的connect()方法,連接資料庫。這行的作用跟mysql_pconnect(host,  
db, passwd)一樣  
04-檢查$db的屬性Link_ID的值來判斷連線是否成功。一般來說只要設定沒問題,這步驟可以省略的  
05-如果連線沒問題,就呼叫DBSQL類別的query方法來執行查詢  
06-DBSQL類別的nf()函數傳回查詢後傳回的記錄的條數,跟mysql_num_rows()的作用一樣。如果找到了記錄,繼續執行  
07-用一個while循環,以DBSQL的next_record()方法為條件。 next_record()方法把DBSQL類別的結果的指標往下移一條,如果到了結尾,就回傳假值  
08-用DBSQL類別的f()方法來取回查詢結果目前一行的某個欄位的值。此方法的參數是字段的名字,如$db->f("id")  
11-用DBSQL類別的p()方法。 p()方法與f()方法不同的是它把查詢結果目前一行的某個欄位的值直接輸出了。此方法的參數是與f()方法一樣也是字段的名字,如$db->p("id")  
13-釋放PHP所佔用的記憶體。相當於呼叫了mysql_free_result函數  

DBSQL的基本用法就是這樣,當然還有其他一些,我在下面來介紹。

四、其他內容  

Auto_free屬性:若設為真值,當呼叫next_record()方法到達查詢結果的結尾時,DBSQL自動執行free_result()方法,釋放佔用的記憶體DebugMode屬性:如果設為真值,在執行query()方法時,會把查詢的SQL語句印出來,所以在做調試時特別有用  

seek()方法:移動DBSQL查詢結果的指針,第一個為0  
num_rows()方法:跟nf()方法一樣,傳回查詢結果的記錄條數  
metadata()方法:以表名為參數,傳回一個包含該表的結果的數組 

http://www.bkjia.com/PHPjc/316498.html

truehttp: //www.bkjia.com/PHPjc/316498.htmlTechArticle當你在編寫存取MYSQL的資料庫程式時,是不是覺得很麻煩:一大套的函數和參數,也要檢查呼叫的結果,更頭痛的是每個程式都要包含資料...
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板