如何在php中运行mssql函数?

时间:2012-06-03 13:23:12

标签: php sql-server sql-server-2008 apache sql-server-2005

我收到了这个恼人的消息:

  

致命错误:调用未定义的函数mssql_connect()

我已经阅读了许多帖子,他们说只是取消注释php_mssql.dll,但我的扩展程序文件夹中没有这样的文件,它也没有列在php.ini中。

我似乎无法在任何地方找到它。在论坛上发布的所有链接都被破坏了,我完全被这个打破了。

我还尝试从Microsoft下载最近的文件,我解压缩了这个:php_pdo_sqlsrv_54_ts.dll,并将其添加到扩展名列表中,但我仍然遇到同样的错误。

有没有什么有意义的方法可以做到这一点?或者我可能需要重新安装PHP?

修改

我将以下文件添加到php.ini扩展程序中:

extension=php_pdo_sqlsrv_53_nts.dll
extension=php_pdo_sqlsrv_53_ts.dll
extension=php_sqlsrv_53_nts.dll
extension=php_sqlsrv_53_ts.dll
extension=php_pdo_mssql.dll
extension=php_pdo_odbc.dll

但仍然没有运气...... :(

2 个答案:

答案 0 :(得分:1)

这是我在Windows平台上将php 5.3与sql-server 2008连接在一起的方式(使用PDO而不是mssql_ *函数):

首先,您需要安装microsoft mssql native client(将页面向下滚动到“Microsoft®SQLServer®2008R2 Native Client”);在这之后,只留下php.ini中的扩展名:

extension=php_pdo_sqlsrv_53_ts.dll

现在,通过从cmd调用php -m来检查扩展程序列表: 您应该在[PHP模块]部分中看到pdo_mssql;

现在,重新启动apache。您可以通过调用new PDO()连接到服务器:

$connection = new PDO("sqlsrv:Server=localhost,1521;Database=testdb", "UserName", "Password");

可以找到更多信息here

答案 1 :(得分:1)

好吧,这就是我解决它的方法:

我只是安装了php 5.2,然后添加了原生的mssql扩展,我觉得它看起来像:

extension=php_mssql.dll

与5.3不同,5.2版本具有与mssql for Windows一起使用的本机二进制文件。

(对许多人来说,安装PDO不是一个选项,因为它需要太多的工作并且还要学习一些新的语法,即使它应该更“可靠”。)

最后,我从

下载了msvcr71.dll
http://www.dll-files.com/dllindex/dll-files.shtml?msvcr71

如果没有此文件,则与服务器的连接正在被切断且不稳定。

就是这样。