Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Übergeben von Werten an die MySQL IN-Operation in einer vorbereiteten PDO-Anweisung?

Sie können nicht mehrere Werte in einem einzelnen Platzhalter übergeben. Sie müssen für jeden Wert, der an IN () übergeben werden soll, einen anderen Platzhalter eingeben . Da Sie nicht wissen, wie viele es sein werden, verwenden Sie ? statt benannter Parameter.

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

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

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