我有一个名为message的SQL表,我想从表中选择DISTINCT
个用户名,这些用户名向ID为($ uid)的收件人发送任何消息,并为每个发件人选择COUNT(message)
,使用单行查询。
我尝试了以下代码:
$query="SELECT DISTINCT clientname,user_id,user1pic, COUNT("SELECT id FROM messages WHERE clientname=clientname) AS counted FROM messages WHERE receiver=$uid and status='unread' ";
$messages=mysqli_query($cnx,$query);
while($row=mysqli_fetch_array($cnx,$messages)){
echo '<a class="example" > '.$row['clieenter code herentname'].''.$row['counted'].'</a>' ;}
if(mysqli_num_rows($cnx,$messages)<=0){
echo '<a class="example" href="#">You Have No Messages</a>' ;
}
答案 0 :(得分:0)
尝试以下操作:
SELECT
clientname,
user_id,
user1pic,
COUNT(1) AS counted
FROM
messages
WHERE
receiver=:uid
and status='unread'
Group by
clientname,
user_id,
user1pic;
我已用参数占位符替换了内联PHP变量-请使用参数绑定以避免SQL注入。