2011-01-25 62 views
1

我認爲我想要做的是更好的名稱。從MySQL請求自定義字段

我有這個。

SELECT * FROM user_bans WHERE user_id='{$user->id}' 

我想要的是這樣的。

SELECT *, active = (DATE(expire) > NOW() ? 1 : 0) FROM user_bans WHERE user_id='{$user->id}' 

過期字段是日期時間字段。我想看看禁令是否已過期,並相應地設置有效值。

我需要用什麼語法來做到這一點?

回答

3

這可能是你的需要!

SELECT *, IF(DATE(expire) > CURDATE() , 1 , 0) AS `active` 
FROM user_bans WHERE user_id={$user->id} 
+1

如果()肯定是他在找什麼。但是,我也會糾正他的一些問題(他將日期與NOW()進行比較,應該與CURDATE()進行比較 - 並且如果user_id是整數,則不應將{$ user-> id}引用) – TehShrike 2011-01-25 16:32:38