Используйте директиву IN для поиска с подготовленным оператором

Моя цель - найти все элементы в таблице, которые соответствуют коллекции, хранящейся в строке:

$array=array("item1","item2","item3","item4");//This is dynamically filled, this is just an example
$in_list = "'".implode("','",$array)."'";//that's why i use implode

$stmt = $this->db->prepare('SELECT libelle,activite,adresse,tel,lat,lng FROM etablissements where type IN ('.$in_list.')');

        $stmt->bind_param("s", $in_list);
        $stmt->execute();
        $stmt->bind_result($libelle,$activite,$adresse,$tel,$lat,$lng);

Это, кажется, не работает идеально, это всегда выдает мне следующее предупреждение:

mysqli_stmt::bind_param() [<a href='mysqli-stmt.bind-param'>mysqli-stmt.bind-param</a>]: Number of elements in type definition string doesn't match number of bind variables in <b>/homepages/25/d399726988/htdocs/

Если бы у меня был один параметр, это было бы очевидно:

    $stmt = $this->db->prepare('SELECT libelle,activite,adresse,tel,lat,lng FROM etablissements where type =?');
$stmt->bind_param("s", $parameter);

Но так как мне приходится иметь дело с этим, мне стало немного сложно.

Ответы на вопрос(1)

Ваш ответ на вопрос