1

我已经添加了NOT IN,所以它不会在显示时包含21,但我想添加诸如未找到氏族之类的消息,但它会说其他内容。25Knights

    if (!isset($_GET['id']))
    {
        $this->Error('CLAN_NOT_FOUND');
        return;
    }

    $db = $this->database[GDB];
    $id = intval($_GET['id']);

    $num_rows = $db->doQuery('SELECT IDName FROM KNIGHTS WHERE IDNum = ? AND IDNUM NOT IN (21,25)', $id);
    if ($num_rows == -1)
    {
        $this->Error('DB_ERROR');
        $db->getError();
        return;
    }
    else if ($num_rows == 0)
    {
        $this->Error('CLAN_NOT_FOUND');
        return;
    }

我已经创建了CLAN_CANNOT_DISPLAY,但我不知道如何正确、安全地将其包含在上面的函数中。如果有人能够帮助我并向我展示它的外观.. 我将非常感激。

编辑:I use MSSQL Server 2005

亲切的问候。

4

1 回答 1

1

如果您从 PHP 中知道您不想要的 ID,请为自己节省一个往返时间。例如...

代替:

$id = intval($_GET['id']);

$num_rows = $db->doQuery('SELECT IDName FROM KNIGHTS WHERE IDNum = ? AND IDNUM NOT IN (21,25)', $id);

和:

$id = intval($_GET['id']);
if (in_array($id,array(21,25)))
{
    $this->Error('CLAN_CANNOT_DISPLAY');
    return;
}

$num_rows = $db->doQuery('SELECT IDName FROM KNIGHTS WHERE IDNum = ?', $id);
于 2013-09-27T00:36:45.483 回答