0
我正在尋找構建動態查詢並返回在線用戶的方式。 請檢查我的代碼如下。我找不到錯在哪裏? 返回的我:未知列「is_online」在「where子句」 ......MySQL |動態查詢 - 在線用戶
if (isset($options['online']) && $options['online'] == 1) {
$where[] = ' AND is_online = 1';
}
$sql = ' SELECT
u1.*,
u2.*,
COUNT(s.userid) AS is_online
FROM `#__users`
AS
u1
LEFT JOIN
`#__ds_users`
AS
u2
ON
u1.id = u2.id
LEFT JOIN
`#__session`
AS
s
ON
u1.id = s.userid
WHERE
1=1
'.implode('', $where).'
GROUP BY
u1.id';
你可能想結算我的解決方案在這裏http://stackoverflow.com/questions/25726512/how-to-insert-dynamic-multidimensional-array-in-database-with-mysqli – SuperDJ 2014-09-12 13:28:31
我猜你可以'在WHERE條件中使用別名,你應該可以在那裏使用'COUNT(s.userid)= 1',或者把整個東西包裝在一個子查詢中。 – stakolee 2014-09-12 13:30:08