Home >Backend Development >PHP Tutorial >How to connect php to sql server_php tips
Description:
1: PHP5.2.x itself has an extension of php_mssql.dll to connect to Sql server, but this dll is only used to connect to lower versions of Sql server (versions below 2000), and cannot be used in Sql server 2005 and above. Use mssql_connect to connect to the database.
2: php5.3.x no longer supports the php_mssql.dll extension library, and it cannot be used even if you use php_mssql.dll in php5.2.x. Microsoft has specially developed a SQL Server extension (Windows version) for PHP. For developing SQL Server applications using PHP under Windows, this extension is conducive to using SQL Server to develop the PHP platform to connect to the SQL Server database management system.
1. Connect sql server with versions below php5.3
The version extension below 5.3 comes with a php_mssql.dll; an extension to connect to the database, you can use this extension to link to the database (limited to linking to lower version databases).
The specific steps are as follows:
1: First install the sql server. It is very difficult to install. I installed the 2008 version before. It cannot be used after Windows expires. Then I reinstalled and it still couldn't be installed. Finally, I reinstalled the system to install it
2: Make sure the mixed authentication mode or SQL verification mode is used when installing SQL, then open the php configuration file (php.ini), enable the mssql extension (remove the semicolon in front of extension=php_pdo_mssql.dll) and need to add mssql .secure_connection = On takes effect after restart.
If it goes smoothly, you can already connect to the database. If you can't connect, you need to continue with low configuration:
3: Check the version of ntwdblib file (php/below and Apache/below) and download the correct version of ntwdblib.dll (2000.80.194.0) to overwrite the existing DLL file (copy ntwdblib.dll, php_mssql.dll to the system32 directory Also) ntwdblib.dll is the driver file used for PHP to connect to MSSQL2005 or 2008.
4: Test connection: mssql_connect('localhost,1433', 'username', 'password');
2. Connect sql server with php5.3
In fact, PHP versions below 5.3 are rarely used. Moreover, the security and compatibility are not good, so higher versions of PHP are still relatively common. Practice has proven that lower versions of PHP have a lower success rate in connecting to the database (versions above 2005 are almost unusable). It is recommended to use PHP5.3 PHP to use Microsoft’s specialized extension SQLSRV to connect to the SQLServer database
The steps are as follows:
1: First go to the Microsoft website to download the SQL Server Driver for PHP. It is a self-extracting EXE file. After decompression, you will get the following files:
The 52 and 53 represent the 5.2.x and 5.3.x versions of php. Choose the one that matches your php version; the choice of vc6 or vc9 depends on what web server software you are using. If you are using For IIS, choose vc9. If it is Apache, choose vc6. The choice of ts and nts depends on whether the PHP version you installed is thread-safe or non-thread-safe. ts is thread-safe and nts is non-thread-safe.
If you don’t know, you can look at the Zend Extension Build attribute in phpinfo as shown below:
2: Copy the extension to the php/ext directory, and add the following code to the php.ini file:
extension=pdo extension under ext (for pdo)
extension=Extension under ext
3: Restart the server and open phpinfo(); seeing the following status proves that the extension was added successfully,
4: Connection test:
<?php $serverName = "(local)"; $connectionInfo = array("UID"=>"sa","PWD"=>"admin","Database"=>"db_online"); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn ){ echo "Connection established.\n"; }else{ echo "Connection could not be established.\n"; die( var_dump(sqlsrv_errors())); } sqlsrv_close( $conn); ?>
Note that the connection here is not mssql_connect but sqlsrv_connect. In this version, there are several functions:
This extension adds a series of functions starting with sqlsrv_ to PHP. The commonly used functions are as follows:
sqlsrv_connect
sqlsrv_close
sqlsrv_commit
sqlsrv_errors
sqlsrv_fetch
sqlsrv_fetch_array
sqlsrv_fetch_metadata
sqlsrv_num_rows
sqlsrv_query
sqlsrv_rollback
sqlsrv_rows_affected
. . .
Also note that if you use this extension to connect to Sql server 2005 and above (such as sql server 2008), you also need to install SQL Server Native Client on the machine first
Otherwise, the following error will occur: :
array
0 =>array
0 =>string'IMSSP'(length=5)
'SQLSTATE' =>string'IMSSP'(length=5)
1 =>int-49
'code' =>int-49
2 =>string'This extension requires the Microsoft SQL Server 2012 Native Client. Access the following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId= 163712'(length=216)
'message' =>string'This extension requires the Microsoft SQL Server 2008 Native Client. Access the following URL to download the Microsoft SQL Server 2008 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/? LinkId=163712'(length=216)
1 =>array
0 =>string'IM002'(length=5)
'SQLSTATE' =>string'IM002'(length=5)
1 =>int0
'code' =>int0
2 =>string '[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified'(length=71)
'message' =>string'[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified'(length=71)
. . . .
Solution: You need to install the SQL Server 2008 Native Client ODBC Driver, download the installation file sqlncli.msi, and install it.
The above is how to connect php to sql server. I hope it will help everyone solve similar problems.