Valores de ligação PDO para instrução MySQL IN

Eu tenho um problema com o PDO que eu realmente gostaria de obter uma resposta para depois de ser atormentado por isso há algum tempo.

Veja este exemplo:

Eu estou vinculando uma matriz de IDs a uma instrução PDO para uso em uma instrução MySQL IN.

A matriz seria dizer:$ values ​​= array (1,2,3,4,5,6,7,8);

A variável segura para banco de dados seria$ products = implode (',' valores $);

Assim,$ produtos seria então umCORDA com um valor de:'1,2,3,4,5,6,7,8'

A declaração seria semelhante:

SELECT users.id
FROM users
JOIN products
ON products.user_id = users.id
WHERE products IN (:products)

Claro,$ produtos estaria vinculado à declaração como:produtos.

No entanto, quando a instrução é compilada e os valores são vinculados, ela ficaria assim:

SELECT users.id
FROM users
JOIN products
ON products.user_id = users.id
WHERE products IN ('1,2,3,4,5,6,7,8')

O problema é que ele está executando tudo dentro da instrução IN como uma única string, uma vez que a preparei como valores separados por vírgula para vincular à instrução.

O que eu realmente preciso é:

SELECT users.id
FROM users
JOIN products
ON products.user_id = users.id
WHERE products IN (1,2,3,4,5,6,7,8)

A única maneira de fazer isso é colocando os valores dentro da própria string sem vinculá-los, mas sei com certeza que tem que haver uma maneira mais fácil de fazer isso.

questionAnswers(8)

yourAnswerToTheQuestion