PHP: Передача массива параметров в оператор IN в MySQL запросе

Приём для выполнения 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);
	}
}
3.4 г. Просмотров: 1.1k
Материал помог? Оценка помогает находить устаревшие и спорные решения.

Комментарии

0

Нашли ошибку или хотите дополнить материал?

Комментариев пока нет.Можно первым дополнить материал или сообщить об ошибке.
Telegram