如何在php中的两个不同数据库的两个不同表中插入数据

时间:2013-07-22 13:18:39

标签: php mysql insert mysql-connect mysql-select-db

我必须在两个不同的数据库表中插入数据。 我为database1创建了database1和table1, 我也为database2创建了database2和table2。

为了插入我已编写代码的数据,

$connect = mysql_connect("localhost","root",""); //database connection

mysql_select_db("database1",$connect); // select database1 
mysql_select_db("database2",$connect); // select database2 

$sql = mysql_query("INSERT INTO database1.table1 (contact_first, contact_last, contact_email) VALUES('abc','xyz','abc@abc.com')"); //insert record to first table
$sql1 =mysql_query("INSERT INTO database2.table2 (contact_first, contact_last, contact_email) VALUES('abc','xyz','abc@abc.com')"); //insert record to second table

请建议我修改以上代码以插入数据。 先谢谢!

5 个答案:

答案 0 :(得分:2)

请尝试以下代码:

$connect1 = mysql_connect("localhost","root","");
mysql_select_db("database1", $connect1);
$res1 = mysql_query("query",$connect1);

$connect2 = mysql_connect("localhost","root","",true);
mysql_select_db("database2", $connect2);
$res2 = mysql_query("query",$connect2);  

注意:所以mysql_connect有另一个可选的布尔参数 表示是否创建链接。当我们连接到 $ connect2 此可选参数设置为“true”,因此两个链接都将 保持活力。

答案 1 :(得分:1)

只需连接到1个数据库,插入新行,断开连接,连接到其他数据库,在该数据库中插入行并断开连接。

或者您可以使用$connect1$connect2分别引用它们,并平行进行插入。

编辑:顺便说一句,您可以使用mysql_connect的第4个参数选择数据库,无需使用mysql_select_db

非常重要的是,你应该写mysqli而不是mysql。因为mysql函数不会得到更长时间的支持。

答案 2 :(得分:0)

首先创建两个数据库连接

$connect1 = mysql_connect("localhost","root",""); 
$connect2 = mysql_connect("localhost","root",""); 

然后为每个连接选择数据库。

mysql_select_db("database1",$connect1); // select database1 
mysql_select_db("database2",$connect2); // select database2 

然后传入mysql_query的第二个参数,它是查询的相应连接。

mysql_query("SELECT ... ", $connect1);
mysql_query("SELECT ... ", $connect2);

答案 3 :(得分:0)

好吧,如果db名称中存在模式,表和查询完全相同,则可以使用循环:

for ($i = 1; $i <=2; $i++) {
    mysql_select_db("database".$i, $connect); 
    $sql = mysql_query("INSERT INTO table".$i." (contact_first, contact_last, contact_email) VALUES('abc','xyz','abc@abc.com')");
    mysql_close;
}

但是,强烈建议不要使用mysql_ *,因为它从上一个稳定的PHP版本中弃用,并且被认为是不安全的。请改用PDO或MySQLi。 PHP的官方网站建议使用“选择API”一文:http://www.php.net/manual/en/mysqlinfo.api.choosing.php

答案 4 :(得分:0)

嗯,我就是这样做的......

1 - 连接 - &gt;你说得对 2 - 检查错误 3 - 使用要放入数据的数据库(1)(而不是'SELECT') 4 - 检查错误 5 - 现在将项目INSERT到正在使用的数据库中 - 即(1) 6 - 检查错误 7 - 使用其他数据库(2) 8 - 检查错误 9 - 将数据插入(2) - 因为这是现在使用的那个 10 - 检查错误

是的,是偏执狂:P希望这有帮助