SQL 多参数​​查询

SQL query with multiple parameters in where

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

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

我只想展示

music

theatre

我用 ids 调用了一个函数,想显示对应的名称,我的查询看起来像这样,但没有任何反应

$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];
        }
    }

我怀疑您需要将 IN 包裹在 ( ) 而不是“ ”中。

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

当您使用 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];
    }
}