1

我在同一台服务器上有 2 个数据库和 2 个相同的表。

我想要做的是从两个表中选择所有记录并将它们加入一个数组中。我一直在搞乱下面的脚本。由于某种原因,它两次返回 db2.tbl 的记录,并且根本不返回 db1.tbl 记录。当我尝试从单个数据库中选择数据时,它们都可以正常工作。有没有人看到问题?

<?PHP
 require_once("config.php");

$conn = @mysql_connect($dbhost, $dbuser, $dbpass)or die ('Error connecting to mysql server'.mysql_error());
$q = mysql_query("SELECT * FROM db1.tbl JOIN db2.tbl");
var_dump(mysql_num_rows($q));
while($arr = mysql_fetch_assoc($q)){
    var_dump($arr);
}

?>
4

2 回答 2

1

这是你想要的吗 ?来自 database1 的所有记录,后跟来自 database2 的所有记录:

$q = mysql_query("SELECT * FROM db1.tbl UNION SELECT * FROM db2.tbl"); 

我假设您正在连接的用户可以访问这两个数据库。

于 2012-07-30T12:28:15.433 回答
0

您的查询应该有效。但是,将tilt(`) 添加到您的数据库名称表名中。先在mysql中执行查询看看是否可以,然后用php执行。

于 2012-07-30T12:37:08.960 回答