我有3个数据库,现在我需要将每个数据库中的几个表连接成一个singel查询.我该怎么做呢?
这是我的联系:
try {
$con_options = array(
PDO::ATTR_EMULATE_PREPARES => false,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, // _SILENT (pub) || _WARNING || _EXCEPTION (dev)
);
$con_1 = new PDO('mysql:host=localhost; dbname=database_1', 'user_1', 'pass_1', $con_options);
$con_2 = new PDO('mysql:host=localhost; dbname=database_2', 'user_2', 'pass_2', $con_options);
$con_3 = new PDO('mysql:host=localhost; dbname=database_3', 'user_3', 'pass_3', $con_options);
} catch (PDOException $err) {
// catch, record/log and do stuff with errors
}
我有3个不同的用户,每个数据库都有一个唯一的密码.
一个数据库存储facebook-apps和其他iframe应用程序的应用程序数据.
另一个包含所有网店数据,如产品,订单,客户等,而第三个包含网站结构和内容.
现在;我想以某种方式在一个查询中加入其中的三个.
我正在写这个问题;我得到的一个想法是让另一个“超级”用户可以访问所有三个数据库并只进行一次多表查询?这是一个可接受的解决方案吗?
如果是这样,我是否必须在查询中指定哪个数据库?