這是我的問題,簡而言之。根據條件運行兩個不同SELECT查詢之一
我有一張桌子。它包含我想根據相對於服務器時間($ time)的開始時間列和結束時間列的值顯示的消息。
表格的第一行是我想要顯示的默認消息,如果有NO消息的開始時間爲< = $ time且結束時間> $ time。
我可以拉最新的消息,並使用此查詢顯示沒有問題:
SELECT * FROM $table WHERE start <= $time and end > $time;
我想不出如何讓我的默認顯示如果沒有其他行符合上述標準。
我嘗試這樣做:
$sql="SELECT CASE WHEN (SELECT COUNT(*) FROM $table WHERE start <= $time AND end > $time) > 0
THEN (SELECT * FROM $table WHERE start <= $time AND end > $time)
ELSE (SELECT * FROM $table WHERE id = 1)
END";
但它返回此錯誤:
Fatal error: Call to a member function fetch_assoc() on a non-object.
不知道該怎麼做。任何想法或幫助將不勝感激!
因爲您正在收到一些PHP錯誤消息,您是否也可以顯示您的PHP代碼? – 2014-12-04 18:28:17