I am working on an application that requires me to connect to two MySQL databases both hosted on the same server.

I have an existing set of class files I created to handle the db connection to the main database. To connect to the second database, I duplicated my db class files and renamed them, and also renamed the functions etc. but what is happening, is that the calls made to the second database connection seem to get made against the first database. So that I get errors like: dbname.tablename was not found (or something like that).

What is the best practice for this? I need to have two open db connections for just two little things in my application.

In my opinion, rather than making two different classes that do the same thing, I would make one class and then create two instances of that class in your script. For this to work, you'll need to make the db host, username, password, and database name be values that are passed to the constructor when the object is created. Assuming you have that, then your code would be something like...

$dbc1 = new dbconn('localhost', 'test', 'test', 'mydb');
$dbc2 = new dbconn('localhost', 'test', 'test', 'otherdb');

Then invocations of $dbc1->retrieveData() would to go the one database whereas $dbc2->retrieveData() would go to the other. I could be missing something, of course, but that's my first thought.

Also, just to be safe, you could use the new link argument in mysql_connect() (the 4th argument) to insure a new, separate connection.

Hope that helps,

PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to