【发布时间】:2012-03-05 16:16:40
【问题描述】:
我最近注意到了 UNION 函数,在 W3Schools 上看到你可以合并两个表,但我想合并三个......我已经编写了一段代码,但是它不起作用,因为我得到一个错误。是否可以合并三个表,我该如何实现?谢谢!
错误:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\Legendary\new\search.php on line 54
代码:
// Fill up array with names
$sql2 = mysql_query("SELECT * FROM members UNION ALL SELECT * FROM clans UNION ALL SELECT * FROM tournaments");
while($row=mysql_fetch_array($sql2)) {
$a[]=$row['name'];
$b[]=$row['id'];
}
【问题讨论】:
-
if($sql2 === FALSE){die(mysql_error())} -
我很确定你想加入这些表而不是联合它们。另外,把你在 W3Schools 上读到的任何东西都带上一大粒盐:http://w3fools.com/
-
Joe Stefanelli,我会试试的,谢谢!
-
W3Schools 页面在它的第 2 段中说:“请注意,UNION 中的每个 SELECT 语句必须具有相同数量的列。列也必须具有相似的数据类型。此外,每个 SELECT 中的列声明的顺序必须相同。”关于数据类型,这个陈述可能有争议,但无论如何你都应该遵循它。
-
不要将 W3SCHOOLS 视为的资源。
标签: php mysql sql union union-all