По причинам, которые должны быть очевидны, это убийство для поиска …
Как это сделать в PDO:
SELECT thing FROM things WHERE thing_uid IN ( ... )
Мой конкретный пример использования – это строка, построенная путем взрыва массива, взятого из формы с несколькими десятками флажков. В стандартном MySQL это очень просто …
$thingString = implode("', '", $thingArray); $q = "SELECT thing FROM things WHERE thing_uid IN ('$thingString')";
но я хочу, чтобы воспользоваться преимуществами защиты от инъекций PDO … связанных параметров и всего этого. Итак, как я могу это сделать?
Создать массив из числа ?
как у вас есть значения, и бросить это в запрос.
$placeholders = array_fill(0, count($thingArray), '?'); $sql = "SELECT thing FROM things WHERE thing_uid IN (" . implode(',', $placeholders) . ")";