我必须在两个不同的数据库表中插入数据。 我为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
请建议我修改以上代码以插入数据。 先谢谢!
答案 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希望这有帮助