For Programmers: Free Programming Magazines  


Home > Archive > PHP DB > January 2006 > Re: [PHP-DB] mysql_pconnect cannot create two permanent connections









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Re: [PHP-DB] mysql_pconnect cannot create two permanent connections
Philip Hallstrom

2006-01-17, 6:57 pm

> 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
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com