Try-and-Catch-error/PHP
我有以下PHP代码:Try-and-Catch-error/PHP,php,mysql,try-catch,Php,Mysql,Try Catch,我有以下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 WHER
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'];
试试{
$article\u ID=$\u GET[“article ID”];
如果(!$article\u ID){
抛出新异常(“无效查询:.mysql_error());
}
否则{
$select\u query=mysql\u query(“从文章中选择articleContent、articleTitle,其中articleID=$article\u ID和typeID=$type\u ID”);
}
}
捕获(例外$e){
//echo$e->getMessage();
$select\u query=mysql\u query(“从文章中选择articleContent,articleTitle,其中typeID=$type\u ID”);
}
$row=mysql\u fetch\u assoc($select\u query);
回显'.$row['articleTitle'].';
echo$row['articleContent'];
if station(
if(!$article\u ID)
)中的条件应该尝试在get方法中获取值,如果不能,它将抛出异常并传递到catch
部分,它工作正常,但每当涉及到catch时,我都会在网页中看到错误消息(注意:第6行的未定义索引:articleID
)为什么?如何隐藏此消息?通知不会引发异常。通知在第一行,因为$\u GET数组变量中没有“ArticleID”键
我想你可以这样做
$articleID = isset($_GET["articleID"]) ? $_GET["articleID"] : '';
这个问题多次被问到,使用
isset($\u GET[“articleID”])
。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果你选择PDO,