继续或在Php死亡

时间:2011-08-23 15:53:55

标签: php mysql

我目前正在使用MySQL进行PHP项目。我在页面顶部和底部有PHP标记来启动和结束PHP。在PHP标签之间,我打开一个echo语句输出HTML到浏览器。在我需要执行PHP的页面的部分内容中,我结束了echo标记并使用

执行MySQL查询
mysql_query($myQuery) or die("Error");

当MySQL出现错误时,它会在此时停止,并且未显示HTML的其余部分,这显然会影响页面的设计。

如果MySQL无法运行,如何让HTML部分继续运行。

6 个答案:

答案 0 :(得分:3)

用其他命令替换die()。见this article

答案 1 :(得分:3)

您的代码示例很有用,但一般情况下,mysql_query() or die()模式不是必需的。如果您不希望执行停止给定查询失败,只需省略or die()部分:

echo 'Output something';
$res = mysql_query($sql);
if ($res) {
 /* do stuff with the query results */
} else {
  /* output an error if desired... or don't */
  echo 'There was a database error: '.mysql_error();
}
echo 'Output some more stuff';

答案 2 :(得分:2)

请使用print代替die

答案 3 :(得分:2)

将mysql_query函数的结果放在变量中并测试它。

<?php
  $result = mysql_query($query);
  if ($result) then { echo "query was a success"; }
  else { echo "query failed"; }
  //rest of the program continues here...
  echo "on with the show";

答案 4 :(得分:0)

使用die将导致服务器停止处理剩余页面。如果要显示错误并继续加载页面,请使用:

... mysql_query($myQuery) or echo "Error";

答案 5 :(得分:0)

使用'或die()'只是处理真正不应发生的错误的快速方法。

可能更好的一种方法是将所有输出放在变量中,而不是使用echo。当你运行任何可能出错的东西时,将它包装在if语句(或try / catch块)中,并在同一页面上优雅地处理错误,或{{1错误页面和include()

我觉得在制作应用中使用exit实际上是不可接受的。