Mysql
 sql >> Database >  >> RDS >> Mysql

Passaggio di valori all'operazione MySQL IN nell'istruzione preparata da PDO?

Non puoi passare più valori in un unico segnaposto. Dovrai inserire un segnaposto diverso per ogni valore da passare a IN () . Dato che non sai quanti saranno, usa ? anziché parametri denominati.

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

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

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