2014-03-27 145 views
0

我想確實刪除了網頁上的所有和echo只是die()PHP死()之前和之後

例子:

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

因此,如果代碼死了,之後纔將刪除一切模具功能和echo只是die()

+0

看看輸出緩衝 –

+3

如果你不知道它是什麼,請不要關注輸出緩衝。這會打開一些不好的門 – Martijn

+7

在向用戶顯示任何內容之前完成所有PHP處理。如果最終在某處出現錯誤,則可以更輕鬆地處理輸出。 – David

回答

0

Die()結束頁面。這就是這個功能的重點:)你不想改變這個功能。

你可以做一個方法(注意結尾):

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

myCustomFunction()可以處理錯誤,你喜歡的任何方式。事實上,我強烈建議您這樣做,以支持die()
你可以做到這一點,所以它顯示了一個'好'的錯誤頁面,解釋用戶發生了什麼。

+0

downvote的原因是什麼? – Martijn

+0

謝謝,這是一個偉大的理想! :-) ..我已經把你的投票;-) – Guhh

0

下面是使用輸出緩衝的非常簡單的例子:

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邏輯完成之後才輸出內容。

+1

如果你的整個答案只是最後一段,你會得到我的讚賞。我覺得不喜歡自己在做什麼的人經常會濫用輸出緩衝,並且它被認爲是一種骯髒的解決方法,而不是正確使用。在這種情況下肯定不需要它。 –

+0

謝謝你的幫助;)..我真的很喜歡它!但@Martijn理念對我來說更好,並且完美地工作 – Guhh