2014-04-01 31 views
0
SELECT g.date,g.description,g.amount AS cash,0 AS cheque FROM generalledger AS g WHERE g.type="cash" AND ([email protected] OR @gdate IS NULL) 
UNION ALL 
SELECT gg.date,gg.description,0 AS cash, gg.amount AS cheque FROM generalledger AS gg WHERE gg.type="cheque" AND ([email protected] OR @gdate IS NULL) 

我有這個查詢我想從php函數設置@gdate參數值,我使用的是codeigniter。有沒有其他方法可以做到這一點?在codeigniter中設置sql參數值

回答

2

綁定使您可以通過讓系統將查詢放在一起來簡化查詢語法。考慮下面的例子:

$sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?"; 

$this->db->query($sql, array(3, 'live', 'Rick')); 

查詢中的問號自動與在所述查詢功能的第二個參數的數組中的值替換。

+0

我不是找這個,我有這樣的 SET @gdate一些SQL變量:= NULL; – Desire

0

你應該試試這個

SELECT g.date,g.description,g.amount AS cash,0 AS cheque 
FROM generalledger AS g, (SELECT @gdate := NULL) as a 
WHERE g.type="cash" AND ([email protected] OR @gdate IS NULL) 
UNION ALL 
SELECT gg.date,gg.description,0 AS cash, gg.amount AS cheque 
FROM generalledger AS gg, (SELECT @gdate := NULL) as b 
WHERE gg.type="cheque" AND ([email protected] OR @gdate IS NULL)