Valores de enlace PDO para la instrucción MySQL IN

Tengo un problema con la DOP por el que me gustaría recibir una respuesta después de haber estado plagado de ella durante bastante tiempo.

Tomemos este ejemplo:

Estoy vinculando una matriz de ID a una declaración PDO para su uso en una declaración MySQL IN.

La matriz sería decir:$ valores = matriz (1,2,3,4,5,6,7,8);

La variable segura para la base de datos sería$ productos = implosionar (',' $ valores);

Asi que,$ productos entonces sería unCUERDA con un valor de:«1,2,3,4,5,6,7,8»

La declaración se vería así:

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

Por supuesto,$ productos estaría obligado a la declaración como: productos.

Sin embargo, cuando la declaración se compila y los valores están vinculados, en realidad se vería así:

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

El problema es que está ejecutando todo dentro de la instrucción IN como una sola cadena, dado que lo he preparado como valores separados por comas para enlazar con la declaración.

Lo que realmente necesito es:

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

La única manera en que puedo hacer esto es colocando los valores dentro de la propia cadena sin vincularlos, sin embargo, sé que hay una forma más fácil de hacerlo.

Respuestas a la pregunta(8)

Su respuesta a la pregunta