php - MySQL同时连接多个数据库

标签 php mysql

我的本​​地主机上有多个数据库,使用相同的用户名和密码。由于信息存储在不同的数据库中,并且我需要跨数据库工作,因此我需要同时打开这两个数据库。我将数据插入一个数据库,并希望删除另一个数据库中的表和数据。

这是我当前正在尝试的连接。

$host = "localhost"; // Host name 
$username = "root"; // Mysql username 
$password = "@"; // Mysql password 
$db_name = "etrack"; // Database 1
$db_name2 = "gs"; // Database 2

// Create connection
$conn = new mysqli($host, $username, $password, $db_name);
$conn2 = new mysqli($host, $username, $password, $db_name2);
// Check connection
if ($conn2->connect_error) {
    die("Connection failed: " . $conn2->connect_error);

}

然后我运行一些 sql 字符串,一个例子是:

$sql = "INSERT INTO unit_hx SET
                imei = '".$imei."',
                model = '".$model."',
                supp = '".$supp."',
                status = 'Scrapped',
                installer = '".$installer."',
                unit_nr = '".$unit_nr."',
                cost = '".$cost."',
                systime = '".$time."',
                msisdn = '".$msisdn."',
                sysdate = '".$date."',
                notes = '".$notes."',
                staff = '".$agent."'";

我想根据数据库 etrack 中检索到的 IMEI 信息删除数据库 gs 中的表

DROP TABLE 'gs_object_data_'".$imei."' 
//imei information is set on the page from a previous form using $_POST

使用 DB1 中的信息在 DB2 查询中使用并删除 DB2 表是否可能?

编辑后的工作代码: 要在两个不同的数据库中插入或更新信息,以下代码很有用;

    "INSERT INTO etrack.simcard_hx SET" //etrack is the database name simcard_hx is the table name
Changing database to other database I used 
"INSERT INTO gs.simcard_hx SET" // gs being the second database

最佳答案

您的 root 用户应该有权访问这两个数据库,因此您不需要第二个连接。如果没有,请创建一个有此功能的用户,这将简化您的生活。然后,在查询中,您只需在表名称前加上数据库名称即可:例如

SELECT * 
FROM etrack.table1 t1
JOIN gs.table2 t2 ON t2.etrack_id = t1.id

关于php - MySQL同时连接多个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54274213/

相关文章:

php - 包迁移不起作用(没有错误)

php - Codeigniter 在本地主机上没问题,但在实时服务器上显示 "database.php does not exist",如果我使用 linux cPanel,我如何找到我的数据库?

mysql - Eloquent 模型 : Define on-to-one relationship using flag on child table

java - 选择不属于关系表一部分的表属性

mysql - 大数据或关系数据库(如 MySQL 集群)?

Mysql查询根据时间戳部分删除重复项

php - 如何忽略 CodeIgniter URL 段中的特殊字符以进行查询

php - 使用 PHP 创建 A* 搜索

php - SQL/PHP 从 2 个表中获取选择

php - 如何从地址栏中隐藏 .php