SQL查询中有多个参数在哪里

时间:2015-06-18 16:38:40

标签: php sql where-clause

我有一个像这样的简单数据库:

Name     id
-----------
music    1
sport    2
theatre  3

我只想显示

  

音乐

     

影院

我用id调用一个函数,并希望显示相应的名称,我的查询看起来像这样,但没有任何反应

$array = array(1,3);
$id = implode(',', $array);

$result = doQuery("SELECT Name
                    FROM categories c
                    WHERE c.id IN '" . $id. "'
                    ");

    if(hasRows($result)){
        while($row = mysql_fetch_row($result)){
            echo $row[0];
        }
    }

2 个答案:

答案 0 :(得分:1)

当您使用IN时,您必须将条件放在括号中,但在您不使用它们的情况下,请尝试以下操作:

$array = array(1,3);
$id = implode(',', $array);

$result = doQuery("SELECT Name
                FROM categories c
                WHERE c.id IN (" . $id. ")
                ");

if(hasRows($result)){
    while($row = mysql_fetch_row($result)){
        echo $row[0];
    }
}

答案 1 :(得分:0)

我怀疑你需要你的IN包裹在()不是' '

$result = doQuery("SELECT Name
                   FROM categories c
                   WHERE c.id IN (" . $id. ")
                    ");