sql >> Base de Datos >  >> RDS >> Mysql

¿Pasar valores a la operación MySQL IN en la declaración preparada de PDO?

No puede pasar varios valores en un solo marcador de posición. Tendrá que ingresar un marcador de posición diferente para cada valor que se pasará a IN () . Como no sabe cuántos habrá, use ? en lugar de parámetros con nombre.

$values = explode(',', $values) ;

$placeholders = rtrim(str_repeat('?, ', count($values)), ', ') ;
$query = "SELECT * FROM table WHERE id IN ($placeholders)";

$stm = $db->prepare($query) ;
$stm->execute($values) ;