这是我的问题,简而言之。根据条件运行两个不同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