这是一个有效的查询吗?我正在使用MSSQL Server 2005

时间:2014-10-15 13:12:23

标签: php sql-server

基本上我要问的是有更好的方法来进行查询SELECT Name, Num ..... 我相信它在语法/结构方面不应该是这样的吗?它是有效的,但是,我想知道你是否可以建议我一个更好的方法来做到这一点?我说的是查询,因为我相信其他一切都没问题。请告诉我。

function ShowHolder()
{
    $db = $this->database[BBA];

    $this->setName(NULL, 1);

    $num_rows = $db->doQuery('SELECT Name, Num FROM INFO WHERE Num = (SELECT sNomer FROM SIEGE)');
    if ($num_rows == -1)
    {
        $db->getError();
        return;
    }

    while ($row = $db->doRead())
    {
        $name = trim($row['Name']);
        $id_num = intval($row['Num']);
        $this->setName($name, $id_num);
    }
}

function setName($name, $id_num)
{
    Template::SetVar('HOLDER', $name == NULL ? 'N/A' : '<a href="./?index=holder&id=' . $id_num . '" class="largeFont">' . $name . '</a>');
}

1 个答案:

答案 0 :(得分:0)

您的脚本和查询似乎没问题。正如DrCopyPaste所说,您可能希望将WHERE Num =更改为WHERE Num IN,只是为了确定无论SIEGE表中的行数是多少,它都能正常工作。这可能只是我提交的最简单的答案。