bklups bklups - 6 months ago 8
SQL Question

SQL query with multiple parameters in where

I have a simple database like this :

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


I just want to display


music

theatre


I call a function with the ids and want to show name corresponding, my query looks like this, but nothing happen

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

Answer

When you are using IN, you must place the conditions in parenthesis but in you case you are not using them so try something like this:

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