我目前正在使用MySQL进行PHP项目。我在页面顶部和底部有PHP标记来启动和结束PHP。在PHP标签之间,我打开一个echo语句输出HTML到浏览器。在我需要执行PHP的页面的部分内容中,我结束了echo标记并使用
执行MySQL查询mysql_query($myQuery) or die("Error");
当MySQL出现错误时,它会在此时停止,并且未显示HTML的其余部分,这显然会影响页面的设计。
如果MySQL无法运行,如何让HTML部分继续运行。
答案 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
实际上是不可接受的。