【问题标题】: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 选项卡中尝试查询,如果它产生正确的结果,请在您的代码上尝试。