如何输出JOINed表?

时间:2010-12-22 23:42:28

标签: php mysql join inner-join

  

可能重复:
  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行

3 个答案:

答案 0 :(得分:2)

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

尝试在PHPMyAdmin中运行SQL查询以查看错误。我猜这是因为你在使用WHERE id时正在使用WHERE questionstable.id

答案 1 :(得分:1)

您有SQL错误,那么$ result将为null。您可以通过以下方式验证:

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

它会打印出更多关于出错的信息。

答案 2 :(得分:1)

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

中给出

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

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