У меня есть следующий PHP код:попытаться поймать ошибка/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(!$article_ID)
) должен попытаться получить значение в методе GET, и если он не может так будет генерировать исключение и перейти к разделу catch
, он отлично работает, но я вижу сообщение об ошибке на моей веб-странице в любое время, когда речь заходит о улове (Notice: Undefined index: articleID on line 6
). Почему? и как я могу скрыть это сообщение?
этот вопрос много раз просили, используйте 'Исеть ($ _ GET [ "ArticleID"])' –
[** Пожалуйста, не используйте 'mysql_ * 'функции в новом коде **] (http://bit.ly/phpmsql). Они больше не поддерживаются [и официально устарели] (https://wiki.php.net/rfc/mysql_deprecation). См. [** красное поле **] (http://j.mp/Te9zIL)? Узнайте о [* подготовленных операторах *] (http://j.mp/T9hLWi) и используйте [PDO] (http://php.net/pdo) или [MySQLi] (http://php.net/ mysqli) - [эта статья] (http://j.mp/QEx8IB) поможет вам решить, какой из них. Если вы выберете PDO, [вот хороший учебник] (http://j.mp/PoWehJ) – Fracsi