From: "Wei, Alice J." on
Hi, Guys:

This is my first time running PHP 5.2 on a IIS 5.1 Server using a Windows XP machine.
My client wants me to build the PHP scripts and the database on one single machine. So far I could run the PHP fine, but I am having a hard time connecting to the MSSQL database even though it is on one machine.

I have created a freetds.conf file and have it set in the Windows directory in the following format:

[global]
host = 192.168.10.62
port = 1433
client charset = UTF-8
tds version = 8.0
text size = 20971520

I have then went into C:\Inetpub\wwwroot\test and built a index.php script, with my code as follows:

<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php
echo "<p>Hello!</p>";
$myServer = "global";
$myUser = "user";
$myPass = "password";
$myDB = "books";
// connection to the database
$dbhandle = mssql_connect($myServer, $myUser, $myPass)
or die("Couldn't connect to SQL Server on $myServer");
// select a database to work with
$selected = mssql_select_db($myDB, $dbhandle)
or die("Couldn't open database $myDB");
echo "You are connected to the " . $myDB . " database on the " . $myServer .. ".";
// close the connection
mssql_close($dbhandle);
?>
</body>
</html>

So far I only get this from the screen:

Hello!
Couldn't connect to SQL Server on global

Is there anything else I have missed? I have followed the prompts of installing FreeTDS according to http://docs.moodle.org/en/Installing_MSSQL_for_PHP, Would anyone say if I use something like ODBC would work better?

I welcome any suggestions.

Alice
======================================================
Alice Wei
MIS 2009
School of Library and Information Science
Indiana University Bloomington
ajwei(a)indiana.edu
From: Elizabeth M Smith on
Wei, Alice J. wrote:
> Hi, Guys:
>
> This is my first time running PHP 5.2 on a IIS 5.1 Server using a Windows XP machine.
> My client wants me to build the PHP scripts and the database on one single machine. So far I could run the PHP fine, but I am having a hard time connecting to the MSSQL database even though it is on one machine.
>
> I have created a freetds.conf file and have it set in the Windows directory in the following format:
>
> [global]
> host = 192.168.10.62
> port = 1433
> client charset = UTF-8
> tds version = 8.0
> text size = 20971520
>
> I have then went into C:\Inetpub\wwwroot\test and built a index.php script, with my code as follows:
>
> <html>
> <head>
> <title>PHP Test</title>
> </head>
> <body>
> <?php
> echo "<p>Hello!</p>";
> $myServer = "global";
> $myUser = "user";
> $myPass = "password";
> $myDB = "books";
> // connection to the database
> $dbhandle = mssql_connect($myServer, $myUser, $myPass)
> or die("Couldn't connect to SQL Server on $myServer");
> // select a database to work with
> $selected = mssql_select_db($myDB, $dbhandle)
> or die("Couldn't open database $myDB");
> echo "You are connected to the " . $myDB . " database on the " . $myServer . ".";
> // close the connection
> mssql_close($dbhandle);
> ?>
> </body>
> </html>
>
> So far I only get this from the screen:
>
> Hello!
> Couldn't connect to SQL Server on global
>
> Is there anything else I have missed? I have followed the prompts of installing FreeTDS according to http://docs.moodle.org/en/Installing_MSSQL_for_PHP, Would anyone say if I use something like ODBC would work better?
>
> I welcome any suggestions.
>
> Alice
> ======================================================
> Alice Wei
> MIS 2009
> School of Library and Information Science
> Indiana University Bloomington
> ajwei(a)indiana.edu

I've found that ODBC or PDO_ODBC works much better with Microsoft SQL if
PHP is on windows - the native client driver odbc connection string
works really well with MSSQL 2005 ;) Usually freetds is only needed if
you need to connect from a linux box with PHP to a windows box with mssql.

Thanks,
Elizabeth
From: "Wei, Alice J." on
Hi,

For ODBC connections, are you using MSSQL 2005? I am currently using Windows XP for the server with PHP 5.2.

I am currently using this version of the MS SQL server, and thus when I am seting up the ODBC connection, I notice that it keeps failing possibly because the SQL Server is indicated as 2000 and not even 2003. Would this make a difference?

Thanks in advance.

Alice
======================================================
Alice Wei
MIS 2009
School of Library and Information Science
Indiana University Bloomington
ajwei(a)indiana.edu
________________________________________
From: Elizabeth M Smith [auroraeosrose(a)gmail.com]
Sent: Tuesday, June 17, 2008 3:58 PM
To: php-windows(a)lists.php.net
Subject: [PHP-WIN] Re: PHP and MSSQL Connection on IIS 5.1

Wei, Alice J. wrote:
> Hi, Guys:
>
> This is my first time running PHP 5.2 on a IIS 5.1 Server using a Windows XP machine.
> My client wants me to build the PHP scripts and the database on one single machine. So far I could run the PHP fine, but I am having a hard time connecting to the MSSQL database even though it is on one machine.
>
> I have created a freetds.conf file and have it set in the Windows directory in the following format:
>
> [global]
> host = 192.168.10.62
> port = 1433
> client charset = UTF-8
> tds version = 8.0
> text size = 20971520
>
> I have then went into C:\Inetpub\wwwroot\test and built a index.php script, with my code as follows:
>
> <html>
> <head>
> <title>PHP Test</title>
> </head>
> <body>
> <?php
> echo "<p>Hello!</p>";
> $myServer = "global";
> $myUser = "user";
> $myPass = "password";
> $myDB = "books";
> // connection to the database
> $dbhandle = mssql_connect($myServer, $myUser, $myPass)
> or die("Couldn't connect to SQL Server on $myServer");
> // select a database to work with
> $selected = mssql_select_db($myDB, $dbhandle)
> or die("Couldn't open database $myDB");
> echo "You are connected to the " . $myDB . " database on the " . $myServer . ".";
> // close the connection
> mssql_close($dbhandle);
> ?>
> </body>
> </html>
>
> So far I only get this from the screen:
>
> Hello!
> Couldn't connect to SQL Server on global
>
> Is there anything else I have missed? I have followed the prompts of installing FreeTDS according to http://docs.moodle.org/en/Installing_MSSQL_for_PHP, Would anyone say if I use something like ODBC would work better?
>
> I welcome any suggestions.
>
> Alice
> ======================================================
> Alice Wei
> MIS 2009
> School of Library and Information Science
> Indiana University Bloomington
> ajwei(a)indiana.edu

I've found that ODBC or PDO_ODBC works much better with Microsoft SQL if
PHP is on windows - the native client driver odbc connection string
works really well with MSSQL 2005 ;) Usually freetds is only needed if
you need to connect from a linux box with PHP to a windows box with mssql.

Thanks,
Elizabeth

--
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
From: Elizabeth M Smith on
Wei, Alice J. wrote:
> Hi,
>
> For ODBC connections, are you using MSSQL 2005? I am currently using Windows XP for the server with PHP 5.2.
>
> I am currently using this version of the MS SQL server, and thus when I am seting up the ODBC connection, I notice that it keeps failing possibly because the SQL Server is indicated as 2000 and not even 2003. Would this make a difference?
>
> Thanks in advance.
>
> Alice
> ======================================================
> Alice Wei
> MIS 2009
> School of Library and Information Science
> Indiana University Bloomington
> ajwei(a)indiana.edu
> _____________________

As long as you're using the right odbc connection string it shouldn't
matter - you shouldn't have to use a dsn even -

www.connectionstrings.com/?carrier=sqlserver has a nice listing of how
you should be formatting your connection strings

Remember that you need to be able to have permission to connect to the
database! For PHP the easiest way to do this is to get TCP/IP working
for sqlserver and using sql level authentication, not windows
authentication. You'll have to get into the client tools to get this
working properly, and it's been long enough since I had to mess with it
that I don't remember exactly where those settings are.

Thanks,
Elizabeth
From: "Wei, Alice J." on
Hi,

Thanks for the document. I have used the Administrative Tools to create a new ODBC data source, and it has been shown that the tests has been done successfully from the System DSN.

My next question is this, with my ODBC driver compiled successfully, this is the connection string I have established to connect to the database using ODBC connection.

$connection_string = 'DRIVER={SQL Server};SERVER=localhost;DATABASE=master';
$user = 'user';
$pass = 'xxxxx';
odbc_connect($connection_string, $user, $pass) or die ("Cannot connect to database");
echo "You are connected to the database';

However, this has so far never given me any success. As I mentioned before, since this PHP script would be stored on the same server as the database, I only have to indicate the server as localhost, as I have had in the ODBC connection, right?

Or, is there anything else I have missed?
Thanks for your help.

Alice
======================================================
Alice Wei
MIS 2009
School of Library and Information Science
Indiana University Bloomington
ajwei(a)indiana.edu
________________________________________
From: Elizabeth M Smith [auroraeosrose(a)shitennou.com]
Sent: Tuesday, June 17, 2008 4:39 PM
To: Wei, Alice J.
Cc: php-windows(a)lists.php.net
Subject: Re: [PHP-WIN] Re: PHP and MSSQL Connection on IIS 5.1

Wei, Alice J. wrote:
> Hi,
>
> For ODBC connections, are you using MSSQL 2005? I am currently using Windows XP for the server with PHP 5.2.
>
> I am currently using this version of the MS SQL server, and thus when I am seting up the ODBC connection, I notice that it keeps failing possibly because the SQL Server is indicated as 2000 and not even 2003. Would this make a difference?
>
> Thanks in advance.
>
> Alice
> ======================================================
> Alice Wei
> MIS 2009
> School of Library and Information Science
> Indiana University Bloomington
> ajwei(a)indiana.edu
> _____________________

As long as you're using the right odbc connection string it shouldn't
matter - you shouldn't have to use a dsn even -

www.connectionstrings.com/?carrier=sqlserver has a nice listing of how
you should be formatting your connection strings

Remember that you need to be able to have permission to connect to the
database! For PHP the easiest way to do this is to get TCP/IP working
for sqlserver and using sql level authentication, not windows
authentication. You'll have to get into the client tools to get this
working properly, and it's been long enough since I had to mess with it
that I don't remember exactly where those settings are.

Thanks,
Elizabeth