Problems connecting a php interface to a MS SQL DB - odbc

Questions about the MySQL, PostgreSQL, and most other databases, as well as using it with PHP can be asked here.

Moderator: General Moderators

Post Reply
sasha_mos
Forum Newbie
Posts: 1
Joined: Sun Jan 09, 2011 12:43 pm

Problems connecting a php interface to a MS SQL DB - odbc

Post by sasha_mos »

Hi,

I am having enormous trouble connecting an existing (not programmed by myself) PHP interface to an existing MS SQL DB. I have been accessing a copy of this SQL DB for testing purposes on my local machine from my own self-programmed PHP interface using odbc "system DSN" interfaces. But probably, the odbc interface on my local testing environment will be looking different than on the real server, I guess.

I am establishing the odbc connection using code that looks like this:

Code: Select all

$db_server ="localhost"; 
$db_name  ="testdb";   // 
$db_user    ="testuser";   
$db_pass    ="test";

$conn = odbc_connect($db_name, $db_user, $db_pass) or die ('Can not connect '. $db_name); 
This works fine - I can access the db and everything works as it should.

The PHP interface that I am trying to integrate in my testing environment does the connection this way:

Code: Select all

$db_server = "localhost"; # I changed that one from the original server name
$db_user   = "testuser";
$db_pass   = "test";
$db_name   = "testdb";
$connection_id = odbc_connect($dbserver, $dbuser, $dbpass);
So it seems the connection on the server is done without mentioning the $db_name field. Sounds strange to me, but I am only a novice concerning SQL via odbc - normally I only use MySQL.
So when the PHP code tries accessing the db, the following error occurs:

Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified, SQL state IM002 in SQLConnect in D:\xampp\xampp\htdocs\testdb\global.include on line xxx

xxx is the line containing "$connection_id = odbc_connect($dbserver, $dbuser, $dbpass);
"

Any ideas how to get that thing working? I am nearly absolutely sure it's got something to do with the odbc datainterfaces defined on my machine, but I have no idea right now.

Any kind of help is highly appreciated!

Thanks,
Sasha
Last edited by Benjamin on Sun Jan 09, 2011 1:20 pm, edited 1 time in total.
Reason: Added [syntax=php] tags.
Brian Swan
Forum Newbie
Posts: 17
Joined: Thu Jan 14, 2010 11:56 am

Re: Problems connecting a php interface to a MS SQL DB - odb

Post by Brian Swan »

This may not be the problem (maybe just typos in the forum post?), but it's worth checking...

In your second code example, the parameters that are passed to odbc_connect do not match the names used to define them (they are all missing the underscore in their names). Does this work?

$connection_id = odbc_connect($db_server, $db_user, $db_pass);

-Brian
Post Reply