程式狂想筆記

一個攻城師奮鬥史

0%

PHP 產生動態sql技巧(IN)

由於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 ";