如何在单个mysqli查询中从两个不同的数据库中获取结果

时间:2016-11-07 10:35:32

标签: php mysql database mysqli

我为一个网站提供了两个不同的数据库。一个数据库用于主数据,另一个用于临时数据以减少主数据库的负载。

Mysqli数据库连接:

$db1=new mysqli('127.0.0.1','root','','database1');
$db2=new mysqli('127.0.0.1','root','','database2');

Mysql数据库连接:

$dbLink1 = mysql_connect('127.0.0.1', 'root', '');
mysql_select_db('database1', $dbLink2);

$dbLink2 = mysql_connect('127.0.0.1', 'root', '', true);
mysql_select_db('database2', $dbLink2);

以下查询在mysql中正常运行。如何在mysqli中运行以下查询?

Mysql查询

SELECT sum(p.price) as sTotal, t.item_id as item_id
FROM database2.temp_cart as t, database2.temp_choices tc, database1.choice_price p
WHERE t.ses_mem= 1
AND t.item_id = 1
AND tc.item_id = 1
AND p.id = tc.choice_id

1 个答案:

答案 0 :(得分:0)

您只需要使用其他数据库作为foregine密钥。您的查询很好,只需使用此查询就可以使用其他查询

$db = mysql_connect($hots, $user, $password);
mysql_select_db('your_most_used_db', $db);

$q = mysql_query("
SELECT sum(p.price) as sTotal, t.item_id as item_id
FROM database2.temp_cart as t, database2.temp_choices tc,   
database1.choice_price p
WHERE t.ses_mem= 1
AND t.item_id = 1
AND tc.item_id = 1
AND p.id = tc.choice_id");