Re: mysql_pconnect cannot create two permanent connections to the same machine ?

From: Date: Tue, 17 Jan 2006 16:31:33 +0000
Subject: Re: mysql_pconnect cannot create two permanent connections to the same machine ?
References: 1  Groups: php.db 
Request: Send a blank email to php-db+get-41041@lists.php.net to get a copy of this message
Hi List, I do not claim that this is bug, but it is not a nice feature either. I do have following: <? /* db.php */ $db_server="127.0.0.1"; $db_user = ****** $db_pass = ****** $db_db = "bebbicell"; $db_account_server="127.0.0.1"; $db_account_user = ******** $db_account_pass = ******** $db_account_db = "asterisk"; //$level= error_reporting ( 0); $bid=mysql_pconnect($db_server,$db_user,$db_pass); //error_reporting ( $level); mysql_select_db($db_db,$bid); //$level= error_reporting ( 0); $accid=mysql_pconnect($db_account_server,$db_account_user,$db_account_pass); //error_reporting ( $level); mysql_select_db($db_account_db, $accid); ?> Note that databases here are totally unrelated. They are on the same machine only because i am developing. I want later to move 'asterisk' to a separate machine, but when i do this, i want just change $db*s, not any other code. Because on this, i want both $bid and $accid to be valid handles. Currently it is not so. Both $res = mysql_query($sql,$accid); $err = mysql_error($accid); will generate error Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /var/www/bebbicell.ch/signup.php
Hmm... from the manual:
    First, when connecting, the function would first try to find a
    (persistent) link that's already open with the same host, username and
    password. If one is found, an identifier for it will be returned instead
    of opening a new connection.
That is, the database is not considered in determining a pre-existing persistent connection. So, if $db_user == $db_account_user and $db_pass == $db_account_pass then $bid == $accid. That said though what you have above should work since multiple calls to mysql_pconnect with the same parameters should just return the original handle. Perhaps (and assuming the connection info is identical) $db_user doesn't have access to $db_account_db to run whatever $sql query you're running? That error doesn't seem right for that, but that's the only thing I can think of. -philip

« previous php.db (#41041) next »