Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 其中包含多个参数的SQL查询_Php_Sql_Where Clause - Fatal编程技术网

Php 其中包含多个参数的SQL查询

Php 其中包含多个参数的SQL查询,php,sql,where-clause,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 categorie

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

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

我怀疑您需要的是包装在而不是“”中的

$result = doQuery("SELECT Name
                   FROM categories c
                   WHERE c.id IN (" . $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];
    }
}

在打了一个DB电话之后,通常最好是。此外,您应该注意到,您正在学习一个废弃的库——考虑切换到更新的MySQLI或PDO扩展。在这需要有效的语法,但根据SQL的味道,您没有指定使用动态SQL查询所需的RDBMS,或者将分隔的数组分割为表中的In select ID的表。