[英]How do I count this SQL query?
I'm trying to figure out how to count this query with a left join: 我试图弄清楚如何用左联接计算该查询:
$friends_q = mysql_query("SELECT ava_users.*
FROM ava_friends
LEFT JOIN ava_users
ON ava_friends.user2 = ava_users.id
WHERE ava_friends.user1 = $user[id]");
This was my approach: 这是我的方法:
$total_results = mysql_result(mysql_query("
SELECT
ava_users.*, COUNT(*) as Num
FROM ava_friends
LEFT JOIN ava_users ON ava_friends.user2 = ava_users.id
WHERE ava_friends.user1 = $user[id]"), 0);
This doesn't work. 这行不通。 All I get is a "PHP Warning: mysql_result() expects parameter 1 to be resource, boolean given[...]" error.
我得到的只是一个“ PHP警告:mysql_result()期望参数1为资源,给定布尔值[...]”错误。
If you want more than ava_users.id
(from the first table) - pull the fields by their names (don't use ava_users.*
) and change group by
respectively. 如果要从第一个表中
ava_users.id
以外的ava_users.id
,请按字段名称拉字段(不要使用ava_users.*
)并分别更改group by
。
SELECT ava_users.id, count(ava_friends.user2) as "Counter"
FROM ava_friends
LEFT JOIN ava_users
ON ava_friends.user2 = ava_users.id
WHERE ava_friends.user1 = $user[id]
group by ava_users.id
Comment : 评论 :
Do not use mysql_*
functions - its deprecated (see the red box ) and vulnerable to sql-injection. 不要使用
mysql_*
函数-已过时(请参见红框 ),并且容易受到sql-injection的攻击。 Use PDO or MySQLi instead. 请改用PDO或MySQLi。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.