|
From: "Wei, Alice J." on 17 Jun 2008 11:58 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 17 Jun 2008 15:58 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 17 Jun 2008 16:30 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 17 Jun 2008 16:39 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 17 Jun 2008 17:25 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
|
Next
|
Last
Pages: 1 2 Prev: Strange - fgets/fgetsv ... 8 is not a valid stream resource Next: CuRL |