0

私は数日間これを理解しようとしています。接続する必要がある 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 を使用することはできますか? すべての接続を開いたままにしておくのは効率的だとは思いません。

4

4 に答える 4

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を参照してください。

于 2012-12-12T18:07:13.557 に答える
0

クエリステートメントの最後に「、$ link」を追加するだけです...

mysql_query("SELECT * FROM table", $link); 
于 2012-12-12T17:41:26.640 に答える
0

Questions like these are rampant in this site, I suppose your search for one like this for more help.

$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 --

Full link Here

于 2012-12-12T17:35:58.153 に答える
0

永続的な接続mysql_pconnectを使用しない理由はありますが、 pdoまたはmysqlnd
(永続的な接続の対応部分1 2 )に切り替えることを検討してください。

于 2012-12-22T13:51:11.770 に答える