PHP Connection SQL Server considerations (Attach DLL file download) _php tips

Source: Internet
Author: User
Tags install php sql server driver mssql
Environment:
-Apache 2.2.6
-PHP 5.2.5
-SQL Server 2005
-Windows XP SP2
steps:
1. First configure PHP5 to connect MS SQL Server in the usual way
2. Download the correct version of Ntwdblib.dll (2000.80.194.0), note that this version number, not this version of the DLL does not work Ah, just started a long time to find this problem, remember ...
Address: http://www.jb51.net/dll/ntwdblib.dll.html
3. Cover Apache2.2.6\bin\ntwdblib.dll
4. Cover Php5.2.5\ntwdblib.dll
5. Run SQL Server Configuration Manager: SQL Server Configuration Manager, open protocol protocols
6. Allow Named pipes "Named Pipes" and "TCP/IP"
7. Right-click "TCP/IP" to open the Property Properties tab "IPs addresses"
8. In TCP dynamic port "TCP Dynamics Ports" fills in 1433
9. Restart SQL Server, Apache, and PHP
Connect MS SQL Server 2005 using the following methods:
Mssql_connect (' localhost,1433 ', USERNAME, PASSWORD);

Configure PHP

1, open php.in will extension=php_mssql.dll the annotation symbol to remove.
2, open php.in to change mssql.secure_connection = off to ON.
3, copy the Php_mssql.dll to php.in extension_dir specified directory or system system32 directory. (Php_mssql.dll is available in the PHP compression installation package).
You will need to restart Apache after completing these steps.
Note: In practice, if you manually install PHP to IIS by using PHP compressed files, you must restart the machine instead of just IIS.
4, need to ensure that PHP or system system system32 under the Ntwdblib.dll, view the properties to ensure that the version of 8.00.194 instead of 7.0 ...
Other Settings
If PHP Apache SQL Server2000 are all on the same machine, access is basically fine.
If the SQL Server2000 and PHP machine are separate, you need to confirm ping SQL Server machine name of the machine can pass, if not, modify the PHP machine \System32\Drivers\Etc under the Hosts file, add a line The machine name of the machine where SQL Server is located on the machine IP SQL Server.
If you still cannot access it, you need to verify that the machine on which PHP is located has Damin MDAC. or simply install the SQL Server client. OK.
For PHP connection sql2005, I found a lot of information on the Internet in my CSDN blog. It's 3:05, and it's finally done.
The PHP connection sql2005 The problem, now integrates, simultaneously integrates the FAQ.

The Tutorial I wrote earlier:

Configure the system before connecting:
1. Check file Php5.2.5\ntwdblib.dll There is a default below, can not be connected to replace.
Download the correct version of Ntwdblib.dll (2000.80.194.0), Address: http://www.jb51.net/dll/ntwdblib.dll.html
2. Configure PHP
A, open php.in to remove the extension=php_mssql.dll annotation symbol.
B, open php.in to change mssql.secure_connection = off to ON.
C, copy Php_mssql.dll to php.in extension_dir specified directory or system system32 directory. (Php_mssql.dll is available in PHP's compressed installation package).
You will need to restart Apache after completing these steps.
Note: In practice, if you manually install PHP to IIS by using PHP compressed files, you must restart the machine instead of just IIS.
3. Configure SQL Server
A. Run SQL Server Configuration Manager: SQL Server Configuration Manager, open protocol protocols
B. Allow Named pipes "Named Pipes" and "TCP/IP"
C. Right-click on "TCP/IP" to open the Property Properties tab "IPs addresses"
D. Fill in the TCP dynamic port "Ports" 1433
E. Restart SQL Server


4. Connect MS SQL Server 2005 using the following methods:
The code is as follows:
Copy Code code as follows:

Link Database
$conn =mssql_connect (' localhost ', ' sa ', ' 123456 ');
mssql_select_db (' Gu_dde ', $conn);
Query statement
$Query = "SELECT * from Dde_top";
$AdminResult =mssql_query ($Query);
Output results
$Num =mssql_num_rows ($AdminResult);
for ($i =0; $i < $Num; $i + +)
{
$Row =mssql_fetch_array ($AdminResult);
Echo ($Row [1]);
Echo ("");
}
?>

Input HTTP://127.0.0.1/


5.FAQ FAQ:
1 Error:
Fatal error:call to undefined function mssql_connect ()
Solve:
Using the Mssql_ series function
To use both of these needs to be set in php.ini:
(1) Allow DCOM, need to be php.ini in the com.allow_dcom=true before the semicolon ";" Remove.
(2) The use of MSSQL extension, need to php.ini in the Extension=php_mssql.dll before the semicolon ";" Remove. Key
(3) Confirm that the Extension_dir is the correct path and take this machine as an example: Extension_dir = "C:\AppServ5.2.6\php\ext".
(4) If the machine still complains that it cannot find c:\AppServ5.2.6\php\ext\php_mssql.dll but there is clearly this file.
Workaround: Php_mssql.dll,ntwdblib.dll Copy to the system directory \system32 restart the test.
(Note: The above two DLL files are not in the same directory, my C:\appserv5.2.6\php\ext\php_mssql.dll;c:\appserv5.2.6\php\ntwdblib.dll)
In addition, remember to restart the server after setting.
2.mssql_connect () Unable to connect to server
Verify that the SQLServer2005 server is normal. Check TCP/IP is enabled
Right-view properties at the same time:
Enabled whether the selection is
After confirming that the server is correct, confirm that the Ntwdblib.dll file location is placed under C:\Windows\System32
Also ensure that the Ntwdblib.dll version of this file corresponds to the version of SQL Server:
The following are the corresponding relationships:
2.ntwdblib.dll version for 2000.2.8.0 is the corresponding SqlServer2000 (this is the network search information and speculation, not installed 2000)
2.ntwdblib.dll version for 2000.80.194.0 is the corresponding SqlServer2005 (this is to use the experimental proof, I was using a notebook installed 2005)
The 3.ntwdblib.dll version for 2000.80.2039 is corresponding to the SqlServer2008 (this is guessing not to be loaded 2008)
6. Other issues:
If PHP Apache SQL Server2000 are all on the same machine, access is basically fine.
If the SQL Server2000 and PHP machine are separate, you need to confirm ping SQL Server machine name of the machine can pass, if not, modify the PHP machine \System32\Drivers\Etc under the Hosts file, add a line The machine name of the machine where SQL Server is located on the machine IP SQL Server.
If you still cannot access it, you need to verify that the machine on which PHP is located has Damin MDAC. or simply install the SQL Server client. OK.
solve the problem as follows:
1. Download two files Php_mssql.dll and Ntwdblib.dll
Php_mssql.dll If this doesn't replicate to C:\Windows\System32, it's easy to show up.
Ntwdblib2093.dll this file to pay attention to the version, or behind the very depressed.
If your MSSQL database is 2000, the operation is basically the same.
Add a server for the Win2003 server system. php5.0/5.1 was used on other servers previously, the database is SQL Server 2000, and this time you intend to install SQL Server 2005. php5.3.2; It is understood that the php5.3 version uses Microsoft's FASTCGI model, which employs a more reasonable parsing process startup mode than the traditional CGI model, which is twice times faster than CGI; the version above PHP5.3 is already not supported for ISAPI mode.

After you have installed IIS6 and MS SQL Server 2005, the entire installation process is
1. installation of fastcgi;
2. Installation of php5.3.2;
3. Install SQL Server Driver for PHP 1.1 driver;

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.