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

Comment utiliser un tableau de valeurs de PHP dans la clause 'IN' de la requête mysql ?

Il n'y a pas de support natif pour cela. Même les API de paramètres liés ne permettent pas d'utiliser des tableaux pour IN clauses. Vous devez construire la requête avec du code d'assistance :

$friend_pics = array_map("mysql_real_escape_string", $friend_pics);
$friend_pics = "'" . implode("', '", $friend_pics) . "'";
"SELECT * WHERE user_id IN ($friend_pics)              "

Une alternative plus simple serait mysqls FIND_IN_SET() cependant :

$friend_pics = mysql_real_escape_string(implode(",", $friend_pics));
"SELECT * FROM fb_user WHERE find_in_set(user_id,'$friend_pics')     "