PHP $ _GET函数,错误消息未显示

时间:2012-08-30 22:39:18

标签: php

我编写了一个脚本,在我的网站上显示我的新闻帖子,并使用$_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 个答案:

答案 0 :(得分:2)

我认为你想要做的是:

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

但是,您应该stop using mysql_ functions

答案 1 :(得分:0)

只是一个想法。 id的名称似乎是一个数字,您使用id = 'id'进行查询 由于您压制了错误 - @mysql_query,因此您没有看到任何错误。 以防万一 - 删除抑制。它可能会给你答案。