PHP 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 ответа
Die()
заканчивает страницу В этом весь смысл этой функции:) Вы не хотите изменять эту функциональность.
Метод, который вы можете сделать (обратите внимание на конец):
$query_area = mysql_query("SELECT * FROM tblcargos") or myCustomFunction();
myCustomFunction()
может обработать ошибку, как вам нравится. На самом деле, я бы настоятельно рекомендовал сделать это в пользу die()
,
Вы можете сделать так, чтобы он отображал "красивую" страницу с ошибкой, объясняя пользователю, что произошло.
Вот очень простой пример использования буферизации вывода:
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.