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

Wie verwende ich ein Array von Werten aus PHP in der 'IN'-Klausel der MySQL-Abfrage?

Dafür gibt es keine native Unterstützung. Selbst die APIs für gebundene Parameter erlauben keine Verwendung von Arrays für IN Klauseln. Sie müssen die Abfrage mit Hilfscode erstellen:

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

Eine einfachere Alternative wäre mysqls FIND_IN_SET() jedoch:

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