Mysql
 sql >> Base de données >  >> RDS >> Mysql

Une instruction préparée, requête et tri `WHERE .. IN(..)` - avec MySQL

vous pouvez le faire de cette façon :

$ids = array(1,5,18,25);

// creates a string containing ?,?,? 
$clause = implode(',', array_fill(0, count($ids), '?'));


$stmt = $mysqli->prepare('SELECT * FROM somewhere WHERE `id` IN (' . $clause . ') ORDER BY `name`;');

call_user_func_array(array($stmt, 'bind_param'), $ids);
$stmt->execute();

// loop through results

En utilisant ceci, vous appelez bind_param pour chaque identifiant et le tri est effectué par mysql.