php - Mysqli 连接来自 2 个不同数据库的表

标签 php mysql sql

如何使用这 2 个连接来运行连接 2 个表的查询? yesno.table1 和 sushi.table1 ?假设我们通过 id 加入,它们都有相同的 id。 我该怎么做?

// Connect to Yesno Database
$this->yesno_db = new mysqli("red", "yesno", "***", "yesnotmp");

if ($this->yesno_db->connect_errno) {
    throw new Exception('Connection failed: '.$this->yesno_db->connect_error);
}   

// Connect to Sushi Database
$this->sushi_db = new mysqli("red", "sushi", "***", "sushi");

if ($this->sushi_db->connect_errno) {
    throw new Exception('Connection failed: '.$this->sushi_db->connect_error);
}

最佳答案

此问题与mysqli(或任何其他API)无关。

要与来自不同数据库的表进行连接,连接到 mysql 的用户必须对两个数据库都具有 SELECT 权限。

完成此操作后,只需在连接语句中选择一个数据库并使用通常的点语法解决另一个数据库:

SELECT * FROM t1 JOIN db2.t2

从字面上回答你的问题,

Can I use this 2 connections to run a query which joins 2 tables?

你不能

关于php - Mysqli 连接来自 2 个不同数据库的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22296500/

相关文章:

php - 从 zip 中提取时图像损坏

php - Scandir 在 Joomla 中不起作用

MySQL Workbench 最大计数

java - 在表中搜索

c# - 查询 List<T> 时出现 OleDb 未处理的异常

php - 从一台服务器推送多个应用程序的通知

php - 在 WordPress 主题中(使用 get_search_form()),如何将占位符文本添加到搜索框?

mysql - IF中的FROM写在哪里?

php - ACRA 将报告插入我的服务器数据库

phpMyAdmin 说 2.2GB,但 mysqldump 是 25GB,有什么想法吗?