2012-08-30 33 views
0

我已經寫了一個腳本來顯示我的網站上的新聞帖子,使用$_GET函數的擴展名,以顯示某個帖子在該頁面上顯示其ID,然後顯示如果函數未被使用,else函數列出頁面上的所有帖子。

我在這裏的問題是,當我查看我想要的例如ID'9'的帖子時,它顯示,但是如果我去了一個不存在的'3958389583',那麼它只顯示我的樣式框新聞數據應該打印在哪裏,而不是我用if語句回覆的錯誤信息。

下面是此部分代碼:

if(isset($_GET['postid'])) { 
    $id = mysql_real_escape_string(stripslashes($_GET['postid'])); 
    $result = @mysql_query("SELECT * FROM news WHERE id = '".$id."'"); 
    if (!$id) { 
    echo("Error! The post you are trying to view does not exist or has been removed."); 
    } else { 

else語句後繼續在那裏打印我的新聞信息的代碼的其餘部分。有人請幫忙,我只需要顯示錯誤信息。謝謝你,讓我知道,如果你需要的代碼的其餘部分以任何理由:)

+2

不是答案,而是'$ _GET'不是一個函數,而是一個變量([superglobal](http://php.net/manual/en/language.variables.superglobals.php))。 – PeeHaa

+1

我想你打算檢查查詢的結果是否爲空。 – Kermit

+0

請不要將'mysql_ *'函數用於新代碼。他們不再被維護,社區已經開始[棄用流程](http://goo.gl/KJveJ)。請參閱[**紅框**](http://goo.gl/GPmFd)?相反,您應該瞭解[準備好的語句](http://goo.gl/vn8zQ)並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能決定,[本文](http://goo.gl/3gqF9)將有助於選擇。如果你關心學習,[這是一本很好的PDO教程](http://goo.gl/vFWnC)。 – PeeHaa

回答

2

我想你想要做的是這樣的:

但是,你應該stop using mysql_ functions

+0

謝謝,我會嘗試,我只是很新的PHP,我發現它更容易。同樣在回覆PeeHaa時,對不起 - 以爲它被歸類爲一個函數,我又是新手。 – user1637318

0

只是一個想法。 id它的名字似乎是一個數字,你查詢使用id = 'id' 由於你壓制錯誤 - @mysql_query你沒有看到任何錯誤。 爲了以防萬一 - 刪除壓抑。它可能會給你答案。