【发布时间】:2018-01-19 13:57:56
【问题描述】:
一切正常,但如果我将 GROUP BY messagesuserone 添加到 ORDER BY messagedate DESC,我会收到错误 Trying to get property of non-object in ...。我哪里错了?.....,你能更正代码,看看它看起来如何......拜托,我需要这个,我整天都在争吵......
拜托,不用过多描述,我的英语不是最好的。谢谢。
PHP 版本:7
表格:
用户
用户名、电子邮件、密码、名字、姓氏、头像
users_residence
users_residenceID、userresidenceID、州、市
users_messages
messagesID、messagesuseroneID、messagesusertwoID、message、messagedate、messageread
if(isset($_SESSION['userID'])){
$user = $_SESSION['userID'];
$sql = "SELECT messagesusertwoID, messagesuseroneID, messagedate,
messageread, SUM(messageread) AS messageread_sum,
userID, firstname, lastname, avatar, state, city FROM users_messages
LEFT JOIN users ON userID = messagesuseroneID
LEFT JOIN users_residence ON userresidenceID = messagesuseroneID
WHERE messagesusertwoID = '$user'
GROUP BY messagesuseroneID ORDER BY messagedate DESC ";
$result = $con->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc())
{
echo ''.$row["avatar"].'
'.$row["userID"].'
'.$row["firstname"].'
'.$row["lastname"].'
'.$row["state"].'
'.$row["city"].'
'.$row["messageread_sum"].'';
}
} else {
echo "0 results";
}
}
【问题讨论】:
-
如果您显示没有工作的代码会更有帮助
-
嗯......什么分组?什么是错误?我们不是你知道的读心术。
-
ORDER BY MAX(date)?您如何按列或日期的最大值排序?date到底是从哪里来的? -
PHP 无罪。由于
GROUP BY,查询变为无效SQL,$con->query($sql)返回FALSE。 -
您的问题仍然缺少所需的输出。 否则,您的问题就离题了,并且建议进行必要的代码更改的答案是不可能的或推测的。
标签: php mysql group-by greatest-n-per-group