3 回答

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊
這是解決方案...
SELECT * FROM table_name WHERE id = COALESCE(NULLIF($id, ''), id)

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊
嘗試這個(gè):
SELECT *
FROM table_name
WHERE (id = '$id' OR $id IS NULL OR TRIM($id) = '')
如果$id不為空且不為空,則將針對(duì)該id字段進(jìn)行檢查。如果$id為 null 或?yàn)榭眨瑒t忽略過(guò)濾器并返回所有行。
更新
SELECT *
FROM table_name
WHERE (
(NULLIF(TRIM($id),'') IS NULL AND id IS NOT NULL) OR
id = $id
)

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊
你可以自己動(dòng)手php,比如:
$sql = 'SELECT * FROM table_name where id is not null';
if($id){
$sql .= ' and id = '.$id;
}
- 3 回答
- 0 關(guān)注
- 150 瀏覽
添加回答
舉報(bào)