自分用メモ
SQLのIN句をphp使って例えば以下のように書きたいとき、
IN句内のデータをどうやって入れようかという話。
SELECT * FROM test_table where id IN("a0001","a0002","a0003");
#結論
index.php
$id_list = array('a0001','a0002','a0003');
$sql = 'SELECT * FROM test_table where';
// ↓こう書く
$sql .= ' id IN("'.implode('","',$id_list).'")';
#思考手順
index.php
// 1.配列データとsql用意
$id_list = array('a0001','a0002','a0003');
// 2.implodeで配列をカンマで区切って文字列にする
// a0001,a0002,a0003
$in = implode(',',$id_list);
// 3.区切りのカンマをクオーテーションで囲む
// a0001","a0002","a0003
$in = implode('","',$id_list);
// 4.implodeをクオーテーションで囲む
// "a0001","a0002","a0003"
$in = '"'.implode('","',$id_list).'"';
// 5.in()で囲む
// IN("a0001","a0002","a0003")
$sql = ' IN('.$in.')';