Re: Getting database name from link identifier
| From: | Aziz Saleh | Date: | Tue, 25 Feb 2014 22:09:58 +0000 |
| Subject: | Re: Getting database name from link identifier | ||
| References: | 1 2 3 4 5 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-322988@lists.php.net to get a copy of this message | ||
On Tue, Feb 25, 2014 at 4:59 PM, Larry Martell <larry.martell@gmail.com>wrote:
> On Tue, Feb 25, 2014 at 4:53 PM, Aziz Saleh <azizsaleh@gmail.com> wrote:
> > On Tue, Feb 25, 2014 at 4:47 PM, Larry Martell <larry.martell@gmail.com>
> > wrote:
> >> On Tue, Feb 25, 2014 at 4:41 PM, Aziz Saleh <azizsaleh@gmail.com>
> wrote:
> >> > On Tue, Feb 25, 2014 at 4:28 PM, Larry Martell <
> larry.martell@gmail.com>
> >> > wrote:
> >> >>
> >> >> Is there any way to find out what database I am connected to from a
> >> >> link identifier?
> >> >>
> >> >> I have some code this does this:
> >> >>
> >> >> @ $db = mysql_pconnect($dbserver, $dbuser, $dbpass);
> >> >> @ mysql_select_db($dbname, $db);
> >> >>
> >> >> I know at the time this is executed $dbname is what I want it to be.
> >> >> But later on when I pull data using $db, I get data from a different
> >> >> database. If I try to echo $db at the time of the query I get
> >> >> "Resource id #5". Can I get the database name from $db?
> >> > You won't be able to, you will need to execute a query on that DB
> >> > connection
> >> > handler to check the DB name currently used:
> >> >
> >> > SELECT DATABASE() as DB_NAME
> >>
> >> Thanks! Indeed I am not 'using' the db that $dbname is set to when I
> >> execute the mysql_select_db command. Now I just have to figure out why
> >> that is.
> >
> >
> > Are you making a call to mysql_select_db besides the above during your
> code
> > execution (even on a different DB handler)? If yes, then that would be
> the
> > issue since.
>
> I was simplifying the code for purposes of asking the question.
> Actually the app connects to 23 different databases on different
> servers. The link identifiers are stored in an array. Each
> mysql_select_db is called with a different link identifiers. I am
> echoing out the link identifiers and the array index when I create
> them and also when I use them. I see that the index is the same, the
> resource id # is the same, but I'm connected to a different db then
> the one I called mysql_select_db with.
>
Is it safe to assume that that all of those 23 connections have different
host/user/password combination?
I ran into issues before, where changing the database using the
mysql_select_db function changed the db for the connection for all users
who are sharing that connection - PHP was running as apache module and not
cgi. I ended up using mysql_connect with the third param as true to force a
new connection.
Aziz