试图加入2个表,不会工作

时间:2009-12-28 02:38:45

标签: php mysql

  

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

我想查看我正在查看的论坛ID的所有主题的列表,但我也希望获得有关我正在查看的论坛的信息,例如名称和说明。我的查询不起作用:

  

警告:mysql_num_rows()期望参数1为资源,第11行的forum.php中给出布尔值

如何在此查询中加入论坛表?

$tresult = mysql_query("SELECT * FROM threads WHERE threads.forumID = ".intval($_GET['forumID'])." LEFT JOIN forum ON forum.id = threads.forumID");

// does the forum even exist?
if (mysql_num_rows($tresult) < 1) {
  // Show error and return
  echo "The forum you are looking for appears to be missing.";

  return false; 
}

if ($is_l

我的桌子:

  • forum:id,name,description
  • threads:id,forumID,title,body,date

2 个答案:

答案 0 :(得分:6)

您必须在WHERE子句之前编写JOIN:

SELECT *
FROM threads
LEFT JOIN forum ON forum.id = threads.forumID
WHERE threads.forumID = $forumID

此外,您应该查看使用参数而不是使用字符串追加来创建查询。这可能是安全的,因为你使用的是intval但是如果你养成使用字符串追加构建SQL查询的习惯,你最终会滑倒。

答案 1 :(得分:0)

加入后应该去哪里。

尝试

mysql_query(...) or die(mysql_error());

查看错误消息