使用PHP连接到SQL Server数据库

时间:2015-02-12 02:19:06

标签: php sql-server database apache

我正在尝试使用NetBeans 8.0.1中的PHP应用程序连接到Microsoft SQL Server 2008 R2数据库。我在Windows XP上安装了XAMP 1.8.2和PHP 5.4.31。 Apache服务器设置正确,我可以在此处访问XAMPP配置页面:http://localhost:1337/index.php

我已正确配置PHP的Microsoft SQL Server驱动程序(SQLSRV)...我下载了以下文件:     php_sqlsrv_54_ts.dll     php_pdo_sqlsrv_54_ts.dll 我将扩展添加到php.ini文件并重新启动了Apache服务。

我有一个名为:INTERACT-21292F \ SQLEXPRESS的SQL Server(在SQL Server Management Studio的属性中找到的名称),SQLExpress服务正在侦听端口1433 ...这是我的index.php文件:

<?php


        $serverName = "INTERACT-21292F\SQLEXPRESS, 1433";


        $connectionInfo = array("Database" => "GDMediaDB", "UID" => "blah", "PWD" => "blah");


        $conn = sqlsrv_connect($serverName, $connectionInfo);


        if (!$conn) {
            echo("Something went wrong while connecting to MSSQL");
        } else {
            echo "Connection Established";
        }

    ?>

输出:连接到MSSQL时出错了。

我无法建立与数据库的连接......为什么会这样?

编辑:var_dump(sqlsrv_errors())的结果:

array (size=2)
  0 => 
    array (size=6)
      0 => string 'IMSSP' (length=5)
      'SQLSTATE' => string 'IMSSP' (length=5)
      1 => int -49
      'code' => int -49
      2 => string 'This extension requires the ODBC Driver 11 for SQL Server. Access the following URL to download the ODBC Driver 11 for SQL Server for x86: http://go.microsoft.com/fwlink/?LinkId=163712' (length=184)
      'message' => string 'This extension requires the ODBC Driver 11 for SQL Server. Access the following URL to download the ODBC Driver 11 for SQL Server for x86: http://go.microsoft.com/fwlink/?LinkId=163712' (length=184)
  1 => 
    array (size=6)
      0 => string 'IM002' (length=5)
      'SQLSTATE' => string 'IM002' (length=5)
      1 => int 0
      'code' => int 0
      2 => string '[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified' (length=91)
      'message' => string '[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified' (length=91)

更新:

我已经安装了正确版本的XAMPP(v.1.6.4附带PHP 5.2.4,它与Windows XP兼容)。现在的问题是SQL Server驱动程序扩展无法加载。我只需下载驱动程序并将它们放在xampp / php / ext /文件夹中并更新php.ini文件以包含:

extension=php_pdo_sqlsrv_52_ts_vc6.dll
extension=php_sqlsrv_52_ts_vc6.dll

当我打开http://localhost:1337/并运行phpInfo()时,sqlsrv扩展名不显示...

如何正确安装PHP 5.2.4的SQL Server驱动程序?

1 个答案:

答案 0 :(得分:1)

问题解决了...... 第一个答案是安装正确的SQL Server驱动程序,这可能会迫使您使用旧版本的PHP,XAMPP和Apache Web Server ...可以找到信息here;

对我来说,有必要安装旧版本的XAMPP,我系统的最新版本(WinXP,PHP 5.2.4)是XAMPP 1.6.4,可以找到here。通过查看this文章,为您的系统找到最兼容的XAMPP版本。请务必选择与您的PHP版本兼容的最新XAMPP版本。

下一个问题是安装SQL Server驱动程序。事实证明,php配置文件(php.ini)可以在XAMPP 1.6.4安装目录中的两个位置找到。第一个位置是D:/xampp/php/php.ini,这是文档和所有论坛建议您修改以添加扩展名的文件...但是,有必要修改在以下位置找到的php配置文件Apache bin目录(D:/xamp/apache/bin/php.ini),XAMPP 1.6.4正在加载php配置文件。

phpInfo()页面的最顶层表示加载的php配置文件的位置。表键是:加载配置文件。