PHP与SQL Server 2005+

时间:2020-03-05 18:41:29  来源:igfitidea点击:

当前,我们有一个混合ASP / PHP设置连接到SQL Server 2005数据库。但是所有查询工作都是在客户端完成的,我想将其中一些移到PHP。

连接到Sql Svr需要什么驱动程序和/或者连接字符串,以及在PHP中使用什么语法?

更新:好的,所以我绝对是在尝试避免与复制DLL等有关的任何事情。我将研究SQL2K5PHP驱动程序(感谢Vincent)。 @jcarrascal为清楚起见,通过"客户端",我的意思是我们的应用程序是作为HTA运行的内部Web应用程序,所有查询都是通过对ASP的JavaScript调用完成的,而ASP实际提交了数据库请求。

解决方案

回答

PHP提供了用于访问Microsoft SQL Server数据库的扩展。要使用SQL Server扩展,只需激活PHP配置文件中的扩展即可。

MSDN页面上的详细信息

回答

只需使用mssql_connect()函数,如下所示:

$conn = mssql_connect('localhost', 'sa' , '123456')
    or die('Can\'t connect.');
mssql_select_db('database', $conn)
    or die('Can\'t select the database');

与SQL Server有关的功能在MSSQL驱动程序的PHP手册中定义。

但是有一个问题,"所有查询工作都是在客户端完成的" WTF? :D

回答

我们有两种选择:

1)php_mssql扩展名:如果我们想要具有与mysql和mysqli相同的API的东西,请使用php_mssql扩展名。但是有一个问题,与PHP捆绑在一起的ntwdblib.dll文件无法正常工作。我们必须从SQL Server 2000安装中找到此文件,或者可以在Internet上找到它。该API据说不是很可靠,但是我已经使用它大约一年了,没有任何问题。

http://ca.php.net/mssql

2)Microsoft SQL Server 2005 PHP驱动程序:如果我们想要更现代的产品,但是它没有相同的API,并且缺少一些重要功能(mssql_num_rows)。最大的优点是它受Microsoft支持,并且可能会与将来的版本一起使用。

http://msdn.microsoft.com/en-us/data/cc299381.aspx