PHP MYSQL动态网页编程纠错指南
关于数据库在WEB编程当中,数据库的作用已经越来越不容忽视。提到数据库,应当说PHP具有非常强大的数据库支持功能,从FileMaker到 Oracle,几乎与所有的数据库系统都可以实现无缝连接。为了方便本文的讲解,我们将主要以MySQL为例进行说明。不过对于其它的数据库应用也同样适用。
使用PHP进行数据库操作一般需要包括以下语句:
<?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; }
当与数据库的连接出现问题时,我们可以输出错误提示,并终止程序的执行。从长远来看,这是一项非常好的防范措施。以此方式,我们重新编写脚本如下:
<?php $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>"; } ?>
这样,当程序出现问题时,我们就可以马上找到错误的根源,从而能够做到有的放矢。
接下来,我们就可以对数据库进行查询。不过,很多时候,当我们运行编写好的查询语句时,却得不到任何返回数据。到底是什么地方出错了呢?最好的解决方法是把SQL语句赋予一个变量,例如:
<?php .... $SQL = "SELECT * FROM $TableName WHERE $ColumnName > $Limit"; $Result_ID = mysql_query($QUERY); . . . ?>
然后当出现问题时,使用"print"或"echo"命令显示该语句。注重检查$ColumnName和$Limit的拼写是否正确,是否无意当中创建了新的变量。使用输出显示的方法可以很轻易的找到并解决拼写错误的问题。但是假如我们将SQL语句显示出来之后仍然没有找到明显的错误该怎么办呢?这里我们可以把输出的语句粘贴到象Mysql命令行接口这样的命令行工具中,看一看是否能够返回数据。假如还是无法解决问题,就应该查看一下所使用帐号的用户权限。
如今,我们可以使用许多免费提供的类完成绝大部分的数据库操作。PHP Classes上就有许多相关的信息,可以供有爱好的用户参考。其中, MetaBase能够提供不依靠某种数据库系统的查询和治理。假如用户正在同时使用几种不同的数据库系统,或者希望自己的程序能够移植到其它的数据库平台上的话,可以留意一下MetaBase的使用。
注重事项最后,我们把使用PHP进行编程的过程中所应当注重的一些问题进行一下汇总,希望能够对大家有所帮助。
1.检查(),[],以及{}等符号,看看是否成对出现。
2.检查字符串,注重假如要想在""当中再使用""的话,必须使用转义符""。
文章链接:http://www.phprm.com/database/8c86589b8ed2774a12a47a7e3ff19c8f.html
随便收藏,请保留本文地址!