我一直试图解决这个问题几天了。我有4个数据库需要连接。我试图在连接之间交替,但它不会让我。它总是需要最后一次连接。
$link = mysql_connect("localhost","root","");
mysql_select_db("front",$link);
$link2 = mysql_connect("mysite.com","user","2012");
mysql_select_db("db1",$link2);
$link3 = mysql_connect("mysite.com","user","2012");
mysql_select_db("appsdb",$link3);
$link4 = mysql_connect("mysite.com","user","2012", TRUE);
mysql_select_db("storagedb",$link4);
我需要做什么?
这可行,但耗时太长
$link = mysql_connect("localhost","root","");
mysql_select_db("front",$link);
$link2 = mysql_connect("mysite.com","user","2012",true);
mysql_select_db("db1",$link2);
$link3 = mysql_connect("mysite.com","user","2012",true);
mysql_select_db("appsdb",$link3);
$link4 = mysql_connect("mysite.com","user","2012", true);
mysql_select_db("storagedb",$link4);
是否可以完全分离连接但仍然在查询中使用$ link,$ link2,$ link3,$ link4?我不认为保持所有连接开放是有效的。
答案 0 :(得分:3)
我不会像其他人一样评论使用mysqli,我想从所有这些评论中,你已经意识到你应该切换,所以我只会回答答案,也许它可以帮助其他人,只是可以'因某种原因升级php。
函数mysql_connect创建或重用连接,因此如果使用相同的凭据创建到同一服务器的多个连接,则只能获得一个连接。
如果您需要强制mysql_connect创建新连接,则需要将new_link参数指定为true,如下所示:
$link = mysql_connect("localhost","root","",true);
mysql_select_db("front",$link);
$link2 = mysql_connect("mysite.com","user","2012",true);
mysql_select_db("db1",$link2);
$link3 = mysql_connect("mysite.com","user","2012",true);
mysql_select_db("appsdb",$link3);
$link4 = mysql_connect("mysite.com","user","2012", true);
mysql_select_db("storagedb",$link4);
您可以在此处找到更多信息:http://php.net/manual/es/function.mysql-connect.php
答案 1 :(得分:0)
这个问题在这个网站上很猖獗,我想你会搜索this这样的问题以获得更多帮助。
$db_conn = connect_db(host, user, pwd);
mysql_select_db('existing_db', $db_conn);
-- do selects and scrub data --
mysql_select_db('new_db', $db_conn);
-- insert the required data --
完整链接Here
答案 2 :(得分:0)
只需将“,$ link”添加到查询语句的末尾...
mysql_query("SELECT * FROM table", $link);
答案 3 :(得分:0)
为什么不使用持久连接mysql_pconnect,但考虑切换到pdo或mysqlnd
(持久连接的对应物 1 2 )