Вам не хватает GROUP BY
для вашего COUNT()
$q = "SELECT *,COUNT(pheed_comments.comment_id) as comments
FROM pheeds
LEFT JOIN pheed_comments ON pheed_comments.P_id=pheeds.pheed_id
WHERE pheed LIKE '%$word%' OR user_id='$user_id'
GROUP BY pheed_id, pheed
ORDER BY datetime DESC";
Теперь, так как вы используете SELECT *
, может быть больше столбцов, возвращенных с COUNT()
. Для получения точных результатов вы также должны перечислить их в GROUP BY
:
GROUP BY pheed_id, pheed, othercol1, othercol2, othercol3