PHP die()之前和之后

时间:2014-03-27 17:55:28

标签: php code-cleanup die

我想删除页面上的所有内容,echo只删除die()

示例:

Code here!!
<?php $query_area = mysql_query("SELECT * FROM tblcargos WHERE id_tblarea = '$id_tblarea'") or die(mysql_error()); ?>
More code here

因此,如果代码消失,将删除函数之前和之后的所有内容,echo只删除die()

2 个答案:

答案 0 :(得分:0)

Die()结束页面。这就是该功能的全部要点:)您不想改变该功能。

你可以做的一种方法(注意结束):

$query_area = mysql_query("SELECT * FROM tblcargos") or myCustomFunction();

myCustomFunction()可以任意方式处理错误。事实上,我强烈建议这样做,而不是die() 你可以做到这一点,它显示一个“漂亮”的错误页面,向用户解释刚刚发生的事情。

答案 1 :(得分:0)

这是使用输出缓冲的 very 基本示例:

ob_start();
// more code here
$query_area = mysql_query("SELECT * FROM tblcargos WHERE id_tblarea = '$id_tblarea'");
if (!query_area) {
     ob_clean();
     die(mysql_error()); 
}
//More code here
ob_end_flush();

这将捕获您的页面​​输出并正常显示,除非您遇到错误。然后它将丢弃到目前为止的输出并仅输出您的错误消息。

输出缓冲可能会变得复杂,所以我建议重新构建代码,这样在PHP逻辑完成之前就不会输出任何内容。