首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >查询中的查询查询中的查询

查询中的查询查询中的查询
EN

Stack Overflow用户
提问于 2013-04-15 01:38:48
回答 4查看 95关注 0票数 0

我很难让它正常工作。我也尝试过彼此内部的查询,但都不起作用。有人知道为什么吗?

代码语言:javascript
运行
复制
$ligan  = mysql_query("SELECT leagueId FROM league WHERE leagueName='$leagueName'");
$laget  = mysql_query("SELECT teamid FROM team WHERE leagueId='$ligan'");
$result = mysql_query("SELECT * FROM player WHERE teamId='laget'"); 

这是打印的地方..。

代码语言:javascript
运行
复制
            <?php
            if(mysql_num_rows($result) == 0){
            echo $result;
            }
            else{
                while($row = mysql_fetch_array($result)){
                  echo "<tr>";
                  echo "<td>" . $row['playerName'] . "</td>";
                  echo "<td>" . $row['birthday'] . "</td>";
                  echo "<td>" . $row['weight'] . "</td>";
                  echo "<td>" . $row['height'] . "</td>";
                  echo "<td>" . $row['madeGoals'] . "</td>";

                  echo "</tr>";


                  }
            }
                mysql_close($db); ?>

我遇到了这个问题: mysql_num_rows()期望参数1是资源,布尔值在

我相信ligan给了一个值,而laget给了很多值。

你能帮上忙吗?

EN

回答 4

Stack Overflow用户

发布于 2013-04-15 02:03:49

我不知道为什么这些答案不建议你使用JOIN,我认为它更容易工作,创建它的原因是为了解决像你这样的问题。

是的,正如所有答案所指出的,你有一个关于mysql_query的PHP错误。

我的建议是,了解JOIN

我认为你的代码应该是这样的:

代码语言:javascript
运行
复制
SELECT * FROM player
INNER JOIN team on team.leagueId = league.id
INNER JOIN league on league.name = '$leagueName'

试一试JOIN,我保证你的代码看起来会更好,你的生活会更轻松=)

票数 2
EN

Stack Overflow用户

发布于 2013-04-15 01:42:58

mysql_query()返回结果集,而不是结果本身。您必须从结果集中提取结果。

在本例中,我检查结果集以确保在访问其中的第一个结果之前有结果。

代码语言:javascript
运行
复制
$resultset = mysql_query("SELECT leagueId from league WHERE leagueName='$leagueName'");

if( mysql_num_rows( $resultset ) > 0 ){
  $row = mysql_fetch_assoc( $resultset );
  // access the ID via $row['leagueId']
}
票数 1
EN

Stack Overflow用户

发布于 2013-04-15 01:42:00

代码语言:javascript
运行
复制
$result = mysql_query(
  "SELECT * FROM player WHERE teamId IN (
    SELECT teamid from team WHERE leagueId IN (
      SELECT leagueId from league WHERE leagueName='$leagueName'
    )
  )"
);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16002153

复制
相关文章

相似问题

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