我有以下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
)为什么?以及如何隐藏此消息?
答案 0 :(得分:1)
通知不会抛出异常。通知在第一行,因为$ _GET数组变量中没有“ArticleID”键。
我认为你可以做这样的事情
$articleID = isset($_GET["articleID"]) ? $_GET["articleID"] : '';