我的本地主机上有多个使用相同用户名和密码的数据库。由于信息存储在不同的数据库中,因此我需要跨数据库工作,因此需要同时打开两者。我将数据插入一个数据库,并希望删除另一个数据库中的表以及数据。
这是我目前正在尝试的联系方式。
$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
答案 0 :(得分:1)
您的root
用户应该可以访问两个数据库,因此您不需要第二个连接。如果没有,创建一个可以做到的用户,它将简化您的生活。然后,在查询中,您只需在表名前面加上数据库名称即可:例如
SELECT *
FROM etrack.table1 t1
JOIN gs.table2 t2 ON t2.etrack_id = t1.id