【问题标题】:How to output JOINed tables? [duplicate]如何输出 JOINed 表? [复制]
【发布时间】:2010-12-22 23:42:28
【问题描述】:

可能重复:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in select

$id=(int)$_GET["id"];

$result = mysql_query("SELECT       questionstable.*, categorytable.name
FROM         questionstable
  INNER JOIN categorytable
  ON         categorytable.id = questionstable.category
WHERE        id=$id");
$row = mysql_fetch_assoc($result);

警告:mysql_fetch_assoc() 期望 参数 1 为资源,布尔值 在 C:\Program 中给出 文件\EasyPHP-5.3.4.0\www\scsoru.php 第 33 行

【问题讨论】:

    标签: php mysql join inner-join


    【解决方案1】:

    mysql_query returns false 失败,所以你得到一个布尔值意味着查询不成功。在继续之前,您应该始终检查结果是否为假(有关更多详细信息,请参阅上面的链接)。

    尝试在 PHPMyAdmin 中运行 SQL 查询以查看错误是什么。我猜这是因为你使用的是WHERE id,而你应该使用WHERE questionstable.id

    【讨论】:

      【解决方案2】:

      您有一个 SQL 错误,那么 $result 将为空。您可以通过以下方式验证这一点:

      $result = mysql_query("your quesry");
      if (!$result) {
          die('Invalid query: ' . mysql_error());
      }
      

      它会打印出更多错误信息。

      【讨论】:

        【解决方案3】:

        警告:mysql_fetch_assoc() 期望参数 1 是资源,在

        中给出布尔值

        如果您发现此错误消息,则表示您的查询错误。将查询复制粘贴到 phpMyAdmin 中并检查它是否产生任何结果。

        始终在 phpMyAdmin >>SQL 选项卡中尝试查询,如果它产生正确的结果,请在您的代码上尝试。

        【讨论】:

          猜你喜欢
          • 2012-12-17
          • 1970-01-01
          • 1970-01-01
          • 2015-04-26
          • 2012-10-22
          • 1970-01-01
          • 1970-01-01
          • 2016-12-30
          • 1970-01-01
          相关资源
          最近更新 更多