我有一个名为link_track的表,其中包含以下字段:id,uid,ip,hitdate
id是一个自动递增字段
uid是成员表
中成员的idip是网站访问者的IP地址,它生成了表格的新条目
hitdate是行输入表格的纪元日期
目前表中有以下记录:
id uid ip hitdate
28 1 71.61.59.113 1329016727
27 1 71.61.59.113 1329015378
26 1 71.60.19.216 1329007376
我想要做的是找到所有给定uid的唯一IP地址
目前我正在使用以下代码:
$query = "SELECT COUNT(DISTINCT `ip`) as `count` FROM `link_track` WHERE uid = '".$memID."'";
$results = mysql_query($query);
$statBuffer = mysql_fetch_array($result);
$unique_clicks = mysql_num_rows($result);
echo $unique_clicks;
然而,这总是返回值1
答案 0 :(得分:4)
您从数据库中获得COUNT()
聚合,并调用mysql_num_rows()
。聚合将始终只返回一行,其中包含该用户的IP数量(即您获得的1
),因此您需要的是从$statBuffer
获取值
$unique_clicks = $statBuffer['count'];
答案 1 :(得分:0)
更改SQL代码而不是PHP,您应该运行此查询:
select distinct ip from link_track
where uid = $uid
但是,我当然会选择Michael的建议。