MW211 EXIT

devlog
PHP/SQL文のIN句をつくる(1)
2012年02月17日
┌──────────────────────────────────────┐
│$where = array(1,4,5);                                                      │
└──────────────────────────────────────┘
┌──────────────────────────────────────┐
│SELECT 列                                                                   │
│    FROM 表                                                                 │
│    WHERE id IN (1,4,5);                                                    │
└──────────────────────────────────────┘
抽出したいIDを配列にあらかじめ格納しておいて、
そのIDに該当するものをSQL文で取得する場合、
配列をimplodeで一直線に並べて、SQL文に代入したやればよい
┌──────────────────────────────────────┐
│$in = implode(',', $where)                                     →  「1,4,5」│
└──────────────────────────────────────┘
┌──────────────────────────────────────┐
│SELECT 列                                                                   │
│    FROM 表                                                                 │
│    WHERE id IN ({$in});                                                    │
└──────────────────────────────────────┘

ちなみに、文字列の場合、「'」で囲う必要があるが、
これについては以下のようにしてやればよい。
┌──────────────────────────────────────┐
│$in = "'" . implode("','", $where) . "'"                 →  「"1","4","5"」│
└──────────────────────────────────────┘
分類:PHP、SQL