由於mysql處理IN效能不是很好,大量資料做的時候速度會很慢
有用PHP程式動態產生SQL,今天有看到很好用的寫法
筆記一下
NOTE主要用substr減少最後一個,
再放入SQL變數裡面去
寫起來很簡單
1 2 3 4 5 6 7 8 9 10 11 12 13
| <? $filter = $list = '';
if(is_array($array_uid)){ foreach($array_uid as $user_val){ $list .= "'".$user_val['uid']."'"; $list .= ","; } $list = substr($list, 0, -1); $fliter = " AND u.uid NOT IN (".$list.") "; }
$sql = "select * from xxx where 1=1 $filter ";
|