首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我的问题出在哪里了?

我的问题出在哪里了?
EN

Stack Overflow用户
提问于 2013-01-09 11:14:43
回答 2查看 68关注 0票数 0

我是PHP/MySQL的新手,但到目前为止,我还是挺过来的,但是现在我需要从两个相关的表中获取信息。我已经对我需要做的事情做了很多研究,但似乎找不出我做错了什么。

问题:如何从与shortlink_analytics?中的短链接相关的短链接表中获得链接

我得到了错误:警告: mysql_fetch_array()希望参数1是资源,布尔给定的

我的桌子如下:

短链接表

id

短链

链接

createdTime

createdBy

shortlink_analytics表

短链

推荐人

hitTime

userIP

userAgent

到目前为止,我尝试过的代码是:

代码语言:javascript
运行
复制
$linecount = 1;
//$mostPop is where I think I have gone wrong and this is where the warning refers to
$mostPop = "SELECT shortlink, COUNT(shortlink) FROM shortlink_analytics JOIN shortlinks ON shortlink_analytics.shortlink = shortlinks.shortlink GROUP BY shortlink ORDER BY COUNT(shortlink) DESC LIMIT 10";
            $loadPop = mysql_query($mostPop);
            echo '<table id="middleIndex">';
            echo '<tr><td class = "overFlow"><h2>Most Popular Shortlink</h2></td></tr>';
            echo '<tr>';
            while($row = mysql_fetch_array($loadPop))
            {
                    echo '<td class = "overFlow">'.$row[1].' visits - <a href = "info.php?link='. $row['shortlink'] .'">hud.ac/' . $row['shortlink'] . '</a></td>';
                    echo '</tr>';
                    $linecount++;
            }
            echo '<tr id="indexMiddle"><td id="hand" class = "overFlow"><a onclick="indexMostPopular()">View More</a></td></tr>';
                echo '</table>';

我认为,对于如何使用、join、或形成成功连接所需的参数,我还没有足够深入的了解。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-09 11:21:14

在两个表中都有shortlink,这将造成不明确的情况。尝试以下sql语句

代码语言:javascript
运行
复制
$mostPop = "SELECT shortlink_analytics.shortlink AS short, 
COUNT(shortlink_analytics.shortlink) AS shortcount,
(SELECT link FROM shortlinks 
WHERE shortlinks.shortlink = shortlink_analytics.shortlink) AS shLink
FROM shortlink_analytics 
JOIN shortlinks ON shortlink_analytics.shortlink = shortlinks.shortlink 
GROUP BY shortlink_analytics.shortlink 
ORDER BY COUNT(shortlink_analytics.shortlink) DESC LIMIT 10";
票数 1
EN

Stack Overflow用户

发布于 2013-01-09 11:18:00

尝试以下操作(在mysql中运行此查询,如果正在工作,请在php脚本中添加它)

代码语言:javascript
运行
复制
SELECT 
    shortlink_analytics.shortlink, COUNT(shortlink_analytics.shortlink)
FROM
    shortlink_analytics
INNER JOIN
    shortlinks ON shortlink_analytics.shortlink = shortlinks.shortlink
GROUP BY shortlink_analytics.shortlink
ORDER BY COUNT(shortlink_analytics.shortlink) DESC
LIMIT 10

并检查mysql_effected_rows()函数以检查查询是否返回某一行

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14233994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档