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

Come utilizzare una matrice di valori da PHP nella clausola 'IN' della query mysql?

Non esiste un supporto nativo per questo. Anche le API dei parametri vincolati non consentono di utilizzare gli array per IN clausole. Devi costruire la query con del codice di supporto:

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

Un'alternativa più semplice sarebbe mysqls FIND_IN_SET() tuttavia:

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