【问题标题】:configure wamp to connect ms sql server 2008配置 wamp 连接 ms sql server 2008
【发布时间】:2012-02-03 23:39:23
【问题描述】:

我从来没有将 PHP 连接到 MS sql server,因此在按照在线教程配置 wamp 以连接 sql server 时会感到困惑和麻烦。我在同一台机器上安装了由 Apache 版本 2.2.21 和 PHP 版本 5.3.8 和 MS Sql server 2008 组成的 wamp。 我下载了 Microsoft Drivers for PHP for SQL Server (SQLSRV20.EXE)。并将文件解压缩到 D:\wamp\bin\php\php5.3.8\ext。然后我从 wamp 图标托盘打开 php.ini 文件,并提供扩展路径为 extension=php_sqlsrv_53_ts_vc9.dll 和 extension=php_sqlsrv_53_nts_vc9.dll。 我已将 php 文件名 testsqlserver.php 放在 wamp 的 www 根文件夹中,代码如下所示:

<?php
   $server = 'mypc/SQLEXPRESS';
   $link = mssql_connect($server,'sa','password');
   if(!$link)
   {
      die('something went wrong');
   }
?>       

当我通过浏览器以 localhost:8080\testsqlserver.php 调用 testsqlserver.php 时。它显示错误: 致命错误:调用 D:\wamp\www\connectsqlserver.php 中未定义的函数 mssql_connect()

我做错了吗?或者还有什么要做的吗?我已经通过不同的在线搜索,但无法获得确切的解决方案。有人能帮帮我吗,不胜感激

【问题讨论】:

  • PHP 5.3.8 版本不支持 mssql_connect() 使用odbc

标签: php sql-server wamp


【解决方案1】:

您必须编辑位于 WAMP 目录中的 php.ini 文件。那里应该有几行用于加载 MS SQL 扩展,但它们被注释掉了;您需要做的就是取消注释这些行并重新启动 Apache。

我正在使用 XAMPP,我的 php.ini 中我必须取消注释的行是:

;extension=php_mssql.dll

;extension=php_pdo_mssql.dll

【讨论】:

  • 是的,我取消注释那些扩展......即使它显示相同的错误:atal 错误:调用第 7 行 D:\wamp\www\connectsqlserver.php 中的未定义函数 mssql_connect()
【解决方案2】:

您下载的Microsoft Drivers for PHP for SQL Server,支持sqlsrv_connect()与sql server数据库建立连接

你应该使用 sqlsrv_connect() 函数连接 sql server ,mssql_connect 已被贬值
您可以通过以下链接获取完整的功能列表及其描述表

http://msdn.microsoft.com/en-us/library/cc296152%28SQL.90%29.aspx

【讨论】:

  • 我使用了以下 php 脚本仍然说同样的问题 undefined function: $uid, "PWD" => $pwd , "Database"=>"IVRFlowManager"); $conn = sqlsrv_connect($serverName, $connectionInfo); if( $conn ) { echo "连接已建立。\n"; } else { echo "无法建立连接。\n";死(print_r(sqlsrv_errors(),真)); } sqlsrv_close($conn); ?>
【解决方案3】:

我目前不使用 wamp,但我认为您应该为此启用 PHP 扩展。点击状态栏中的 wamp 图标并启用 php_mssql 和 php_pdo_mssql 扩展,然后重启 apache 服务。

【讨论】: