sql >> Databáze >  >> RDS >> Mysql

Jak použít pole hodnot z PHP v klauzuli 'IN' dotazu mysql?

Neexistuje pro to žádná nativní podpora. Dokonce i rozhraní API vázaných parametrů neumožňují používat pole pro IN doložky. Dotaz musíte sestavit pomocí nějakého pomocného kódu:

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

Jednodušší alternativou by byl mysqls FIND_IN_SET() nicméně:

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


  1. UNION ALL vs OR podmínka v dotazu serveru SQL

  2. SQL DELETE pro začátečníky

  3. Forward Engineering MySQL Workbench Error 1064

  4. MySql Transponujte řádek do sloupce a sloupec do řádku