[Work] PHP/MS-SQL c onnect problem

Here’s one for the PHP webnerds out there:

PHP/SQL7. At the start of every script, I include db.php which contains this:

$db = mssql_connect(‘devbox’,’foo’,’bar’);
mssql_select_db(‘[devsitedb]’, $db) or die (“Couldn’t open database connection”);

And then I pass that connection into the various classes and functions on the site. Fine and dandy.

However, in the course of one fo the scripts for this site, I need to hook into a second database temporarily, so I do this at the appropriate point:

$second_db = mssql_connect(‘devbox’,’jim’,’bob’);
mssql_select_db(‘[anothersitedb]’, $second_db) or die (“Couldn’t open second database connection”);

Then do what I need to with that connection and close it with mssql_close($second_db);

Here’s the problem, though: despite the fact that the two connections are clearly different, the second one is overwriting the first, so that when I come back to doing things with the first connection, it now can’t find any of the stored procedures i needs. This is true at any point after $second_db is opened, and it make no difference whether or not I close $second_db. The conenction is just being over-written.

At the point of opening, print_r($db) returns “Resource id #2”. And that holds true for the second connection as well – print_r($second_db) also returns “Resource id #2”.

mssql.max_links is set to -1, so there should be no problem with the number of connections that I’m making…

Obviously, I would like it if this didn’t happen, and $second_db become “Resource id #3”, thus allowing me to juggle the two connections as I need to.

Anyone out there had similar problems, or able to spot what I’m missing?

Leave a Reply

Your email address will not be published.