|
我们可以对以上所提到的这些函数的返回值加以利用,从而减少出现不必要的麻烦。例如,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_Database="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语句赋予一个变量,例如:
<? .... $SQL="SELECT * FROM $TableName WHERE $ColumnName > $Limit"; $Result_ID=mysql_query($QUERY); ...?>
然后当出现问题时,使用“print”或“echo”命令显示该语句。注意检查$ColumnName和$Limit的拼写是否正确,是否无意当中创建了新的变量。使用输出显示的方法可以很容易的找到并解决拼写错误的问题。但是如果我们将SQL语句显示出来之后仍然没有找到明显的错误该怎么办呢?这里我们可以把输出的语句粘贴到象Mysql命令行接口这样的命令行工具中,看一看是否能够返回数据。如果还是无法解决问题,就应该查看一下所使用帐号的用户权限。
(阅读次数:)
共4页: 上一页 [1] [2] [3] 4 下一页
|