老实说,我不知道我在用这个做什么,花了至少 1 小时寻找有同样问题的人,但找不到任何适合我/解决我的问题的东西。
$auth_user = new USER();
$user_id = $_SESSION['user_session'];
$asd = $auth_user->runQuery("SELECT COUNT(*) FROM ticket_replies WHERE uid=:userid");
$asd->execute(array(':userid'=>$user_id));
$rows = $asd->fetchAll();
$numrows = count($rows);
echo $numrows;
甚至不确定这是否正确,但它确实在页面上返回了 1。
$auth_user = new USER();
$user_id = $_SESSION['user_session'];
$asd = $auth_user->runQuery("SELECT uid, count(*) FROM ticket_replies WHERE uid=:uname");
$asd->execute(array(':uname'=>$user_id));
$ticketsrow = $asd->fetchAll();
$count = count($ticketsrow);
foreach($ticketsrow as $row9){
echo $row9['uid'];
}
上面的代码返回“5”的值,如果表中的值是 1,但显然我希望它以 1、2 和 3 的顺序返回。
最佳答案
从哪里删除uid..
只需在 uid 上应用 groupBy,我不知道语法但在简单的 sql 语句中它会像
SELECT *,count(*) AS count FROM `ticket_replies` group By `uid` order by `count`
也删除这个
$numrows = count($rows);
这样做
foreach($ticketsrow as $row9){
echo $row9['uid'];
echo $row9['count'];
}
然后你就可以开始了......
关于php - MySQL count(*) 不返回具有相同输入的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38652563/