Я переделываю некоторый код PHP, чтобы использовать PDO для доступа к базе данных, но у меня проблема с запросом "WHERE ... IN".
Я пытаюсь удалить некоторые вещи из базы данных, основываясь на том, какие элементы в форме проверены. Длина и содержание списка будут разными, но для этого примера представьте, что это так:
$idlist = '260,201,221,216,217,169,210,212,213';
Тогда запрос выглядит так:
$query = "DELETE from `foo` WHERE `id` IN (:idlist)";
$st = $db->prepare($query);
$st->execute(array(':idlist' => $idlist));
Когда я это делаю, удаляется только первый идентификатор. (Я предполагаю, что он выбрасывает запятую и все после нее.)
Я также пытался сделать $idlist
массивом, но тогда он ничего не удаляет.
Как правильно использовать список элементов в подготовленном операторе PDO?