Приём для выполнения SQL-запрос, который использует список значений в операторе IN: создать плейсхолдеры (?) для каждого элемента в массиве, а затем передать массива значений в метод execute() объекта PDOStatement:
$ids = [ 1, 2, 3, 4 ];
$placeholders = str_repeat('?,', count($ids) - 1) . '?';
$sql = "SELECT
`name`
FROM
`users`
WHERE
`id` IN($placeholders)
";
$stmt = $pdo->prepare($sql);
if( $stmt->execute($ids) )
{
while( $row = $stmt->fetch( PDO::FETCH_ASSOC ) )
{
print_r($row);
}
}
Комментарии
0Нашли ошибку или хотите дополнить материал?