關於數據庫在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 ------------------<BR>;
print "$Result[0]<BR>";
print "$Result[1]<BR>";
print "$Result[2]<BR>";
print "$Result[3]<BR>";
print -------------------<BR>;
}?>
基本步驟包括建立與MySQL數據庫的連接,選擇數據庫操作對象,然後執行查詢語句。對於在上述過程中出現的錯誤的提示信息一般來說都能夠較為准確和詳細的描述所出現的問題。例如,“Connection failed due to a bad username”錯誤報告就清楚的指出由於用戶名錯誤而導致與數據庫的連接失敗。
我們可以對以上所提到的這些函數的返回值加以利用,從而減少出現不必要的麻煩。例如,mysql_connect函數在連接成功時會返回一個連接ID標識,如果連接失敗則發出錯誤提示。對此,我們可以進行如下利用:
if (!mysql_connect (’localhost’, ’root’, ’password’)){
print "Cannot connect to MySQL<BR>";
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<BR>";
exit;
}
if (!$Result_ID=mysql_query ($Query)){
print "Query Error: ".mysql_error();
exit;
}
while ($Result=mysql_fetch_row($Result_ID)){
print ------------------<BR>;
print "$Result[0]<BR>";
print "$Result[1]<BR>";
print "$Result[2]<BR>";
print "$Result[3]<BR>";
print -------------------<BR>;
}?>
這樣,當程序出現問題時,我們就可以立刻找到錯誤的根源,從而能夠做到有的放矢。