自己寫PHP的MYSQL數據庫查詢函數,減少冗餘代碼

作為初學者的PHP程序員來說,查詢數據庫是用得最多的,今天就拋磚引玉寫一下如何寫自己的MYSQL查詢函數,減少代碼,看起來更規範,且在修改源碼時更方便。

一般情況下,我們要查詢MYSQL中某條數據或者多條數據時,新手的寫法都是:

$sql=mysql_query("SELECT * FROM `table` where id='5');

$res=mysql_fetch_arrya($sql);

print_r($res);

這樣寫也並沒有錯,但是數據量大的時候,這樣的寫法,在一個表只需要幾個字段時,我們感覺查詢的速度比較慢,並且需要在要查詢的地方,都要寫上這麼多行代碼,那麼,自己寫個“多功能”查詢語句是非常有必要的。

自己寫PHP的MYSQL數據庫查詢函數,減少冗餘代碼

對於函數名稱來說,你只需要定義與系統預定義的一些函數不要重名就可以,一般是按個人習慣寫,比如寫成db_開頭的下劃線,後面跟上功能定義等等。

比如我們要做一個查詢函數:

function db_one_fetch($arr,$table,$serch) {

$sql=mysql_query("SELECT $arr FROM `$table` $serch") or die("單條查詢時出錯: " . mysql_error());

$row=mysql_fetch_array($sql);

return $row;

}

這是單一查詢語句,我們在調用該函數時,通過傳入三個變量,即可得到我們想要的數據,至於後面的die條件,是為了在查詢時若有錯誤時,返回的MYSQL錯誤用的,也可以不加。

調用方法是:

db_one_fetch($arr,$table,$serch) ;

假如,test表有5個字段id a b c d ,假如我們需要取出id等於5的這條數據中a和c的值,那麼,我們的函數調用方法如下:

$db_one=db_one_fetch(‘a,c’,'test',' where id=5') ;

第一個變量為取a,c字段的值,第二個變量為指定數據庫的表名為 test,第三個變量為取值的ID參數。

那麼得到的數據就只有a字段和c字段的值了。

在實際開發中,我們很多查詢並不需要對全部數據都需要,所以進行針對性取值,大大提高查詢效率,也減少服務器的開銷。

如果我們需要用查詢該條數據所有值時,調用參數據如下:

$db_one=db_one_fetch(‘*’,'test',' where id=5') ;

第一個變量*表示取所有字段的值,第二個變量為指定數據庫的表名為 test,第三個變量為取值的ID參數。

這樣的話,是不是很方便?

在後期維護我們的PHP源代碼時,如果需要調整,我們只需要在這一行簡短的代碼中略唯修改其中某幾個字符就行了,不必每一個查詢都都寫上一大串代碼。


分享到:


相關文章: