關於資料庫在WEB編程當中,資料庫的作用已經越來越不容忽視。提到資料庫,應當說PHP具有非常強大的資料庫支援功能,從FileMaker到 Oracle,幾乎與所有的資料庫系統都可以實現無縫串連。為了方便本文的講解,我們將主要以MySQL為例進行說明。不過對於其它的資料庫應用也同樣適用。
使用PHP進行資料庫操作一般需要包括以下語句:
$Host="localhost";
$MySQL_UserName="root";
$MySQL_UserPass="password";
$MySQL_Database="db";
$Query="SELECT * FROM domain";
mysql_connect ($Host, $MySQL_UserName, $MySQL_UserPass);
mysql_select_db ($MySQL_Database);
$Result_ID=mysql_query ($Query);
while ($Result=mysql_fetch_row($Result_ID)){
print ------------------
;
print "$Result[0]
";
print "$Result[1]
";
print "$Result[2]
";
print "$Result[3]
";
print -------------------
;
}?>
基本步驟包括建立與MySQL資料庫的串連,選擇資料庫操作對象,然後執行查詢語句。對於在上述過程中出現的錯誤的提示資訊一般來說都能夠較為準確和具體的描述所出現的問題。例如,“Connection failed due to a bad username”錯誤報表就清楚的指出由於使用者名稱錯誤而導致與資料庫的串連失敗。
我們可以對以上所提到的這些函數的傳回值加以利用,從而減少出現不必要的麻煩。例如,mysql_connect函數在串連成功時會返回一個串連ID標識,假如串連失敗則發出錯誤提示。對此,我們可以進行如下利用:
if (!mysql_connect (’localhost’, ’root’, ’password’)){
print "Cannot connect to MySQL
";
exit;
}
當與資料庫的串連出現問題時,我們可以輸出錯誤提示,並終止程式的執行。從長遠來看,這是一項非常好的防範措施。以此方式,我們重新編寫指令碼如下:
$Host="localhost";
$MySQL_UserName="root";
$MySQL_UserPass="password";
$MySQL_Datab ="db";
$Query="SELECT * FROM domain";
if (!mysql_connect ($Host, $MySQL_UserName, $MySQL_UserPass)){
print "Cannot connect to MySQL: ".mysql_error();
exit;
}
if (!mysql_select_db ($MySQL_Database)){
print "Cannot select db
";
exit;
}
if (!$Result_ID=mysql_query ($Query)){
print "Query Error: ".mysql_error();
exit;
}
while ($Result=mysql_fetch_row($Result_ID)){
print ------------------
;
print "$Result[0]
";
print "$Result[1]
";
print "$Result[2]
";
print "$Result[3]
";
print -------------------
;
}?>
這樣,當程式出現問題時,我們就可以馬上找到錯誤的根源,從而能夠做到有的放矢。
接下來,我們就可以對資料庫進行查詢。不過,很多時候,當我們運行編寫好的查詢語句時,卻得不到任何返回資料。到底是什麼地方出錯了呢?最好的解決方案是把SQL語句賦予一個變數,例如:
....
$SQL="SELECT * FROM $TableName WHERE $ColumnName > $Limit";
$Result_ID=mysql_query($QUERY);
...?>
然後當出現問題時,使用“print”或“echo”命令顯示該語句。注重檢查$ColumnName和$Limit的拼字是否正確,是否無意當中建立了新的變數。使用輸出顯示的方法可以很輕易的找到並解決拼字錯誤的問題。但是假如我們將SQL語句顯示出來之後仍然沒有找到明顯的錯誤該怎麼辦呢?這裡我們可以把輸出的語句粘貼到象Mysql命令列介面這樣的命令列工具中,看一看是否能夠返回資料。假如還是無法解決問題,就應該查看一下所使用帳號的使用者權限。
如今,我們可以使用許多免費提供的類完成絕大部分的資料庫操作。PHP Classes(http://phpclasses.upperdesign.com/)上就有許多相關的資訊,可以供有愛好的使用者參考。其中, MetaBase能夠提供不依靠某種資料庫系統的查詢和治理。假如使用者正在同時使用幾種不同的資料庫系統,或者希望自己的程式能夠移植到其它的資料庫平台上的話,可以留意一下MetaBase的使用。
注重事項最後,我們把使用PHP進行編程的過程中所應當注重的一些問題進行一下匯總,希望能夠對大家有所協助。
1.檢查(),[],以及{}等符號,看看是否成對出現。
2.檢查字串,注重假如要想在“”當中再使用“”的話,必須使用轉義符“”。
http://www.bkjia.com/PHPjc/630909.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/630909.htmlTechArticle關於資料庫在WEB編程當中,資料庫的作用已經越來越不容忽視。提到資料庫,應當說PHP具有非常強大的資料庫支援功能,從FileMaker到 Oracl...