MYSQL在2个不同的服务器上连接和查询2个dbs
感谢任何帮助,
我一直在努力让这个工作, 并在本网站和其他网站上搜索了各种示例。 我正在尝试在同一台服务器上连接2 db。
我可以从每个单独的数据中获取数据,但我不知道如何用wrire代码来组合/加入数据
这是我基于众多帮助的错误代码 如何发布我在线阅读。欢迎任何帮助或线索。 如果我可以得到任何输出/打印我会很高兴
// connect to db1 contact info
$host1='db1hostname';
$user1='db1user';
$password1='db1pw';
$database1='db1user';
// connect to db2, phone call info
$host2='db2hostname';
$user2='db2user';
$password2='db2pw';
$database2='db2user';
$connect1 = mysql_connect($host1, $user1, $password1) OR DIE
('Unable to connect to database! Please try again later.');
$connect2 = mysql_connect($host2, $user2, $password2) OR DIE
('Unable to connect to database! Please try again later.');
// i think this is where things start to go wrong
mysql_select_db($database1, $connect1);
mysql_select_db($database2, $connect2);
// i want to join these 2 tables from diff db by the caller info
是一个细胞编号 //数据库2信息来自电话记录表 并且无法更改,因此我无法通过表主ID连接2 tbls 因为我永远不知道db2中每个调用的id是什么, 我希望通过来电号码
连接2 db表$data = mysql_query("SELECT `m`.`id`, `m`.`created`, `m`.`caller`, `m`.`content_text`,
`c`.`iname`, `c`.`caller`
FROM database1.contacts c, database2.messages m
WHERE `c`.`caller` = `m`.`caller` ") or die(mysql_error());
// i then want to print the results to a table
while($info = mysql_fetch_array( $data ))
答案 0 :(得分:0)
连接到您的第一个数据库,当您想在第二个数据库中运行查询时,只需使用下面代码中的简单方法。
$query = "SELECT t1.*, t2.*
FROM tableOfDB1 t1
LEFT JOIN database2.tableOfDB2 t2 ON t1.ID = ts2.TableOne_ID
";
或者,如果您只想要来自db2的数据
$query = "SELECT t2.*
FROM database2.tableOfDB2 t2";
在你的例子中试试这个
$data = mysql_query("SELECT `m`.`id` AS mID, `m`.`created` AS mCreated, `m`.`caller` AS mCaller, `m`.`content_text`,
`c`.`iname` AS cIname, `c`.`caller` AS cCaller
FROM database1.contacts c, database2.messages m
WHERE `c`.`caller` = `m`.`caller` ") or die(mysql_error());
while( $row = mysql_fetch_array($data) )
{
echo "<br>mCaller: ".$row['mCaller'];
echo "<br>cCaller: ".$row['cCaller'];
}
答案 1 :(得分:0)
如果您说,数据库位于同一台服务器上,那么您可以通过一个连接执行所有操作。您必须在查询中明确您的数据库名称,但是您可以以非常直接的方式执行其他所有操作。
请参阅https://stackoverflow.com/questions/19039718/reference-column-in-seperate-database/19040228#19040228