0

我有以下 PHP 代码:

try{ 
    $article_ID =$_GET["articleID"];  
    if(!$article_ID) {
        throw new Exception("Invalid query: ". mysql_error());
    }
    else {
        $select_query = mysql_query("SELECT articleContent, articleTitle From articles WHERE articleID=$article_ID AND typeID=$type_ID");
    }
}
catch(Exception $e) { 
    //echo $e->getMessage();
    $select_query = mysql_query("SELECT articleContent, articleTitle From articles       WHERE typeID=$type_ID");
}
$row = mysql_fetch_assoc($select_query); 
echo '<h1>'.$row['articleTitle'].'</h1>';
echo  $row['articleContent'];

if 语句 ( if(!$article_ID)) 中的条件应该尝试获取 get 方法中的值,如果不能,它将抛出异常并传递给该catch部分,它工作正常,但我随时在我的网页中看到错误消息抓住了(Notice: Undefined index: articleID on line 6)为什么?以及如何隐藏此消息?

4

1 回答 1

1

通知不会引发异常。通知在第一行,因为 $_GET 数组变量中没有“ArticleID”键。

我想你可以做这样的事情

$articleID = isset($_GET["articleID"]) ? $_GET["articleID"] : '';
于 2013-07-09T13:51:23.737 回答