2008-08-21 111 views
3

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

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


更新:OK,所以我肯定是想避免使用任何与复制的DLL等。我会考虑的SQL2K5PHP驱动程序(感谢文森特)做。为了清楚起见,“客户端”我的意思是我们的应用程序是一个内部网络应用程序,运行时为HTA,所有查询都通过javascript调用完成提交数据库请求的ASP调用。

回答

5

你有两个选择:

1)php_mssql扩展:如果你想的东西,有相同的API mysql和mysqli的有,然后使用php_mssql扩展。但是有一个问题,使用PHP捆绑的ntwdblib.dll文件无法正常工作。您必须从SQL Server 2000安装中找到此文件,或者您可以在Internet上找到它。这个API据说不是很可靠,但我一直在使用它没有问题约一年。

http://ca.php.net/mssql

2)微软SQL Server 2005的PHP驱动:如果您想更现代的东西,但它不具有相同的API,并丢失了一些重要功能(mssql_num_rows)。最大的好处是它可以得到微软的支持,并可能与未来的版本一起工作。

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

0

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

2

详细只需使用mssql_connect()函数是这样的:

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

功能在PHP manual for the MSSQL driver定义。

虽然有一个问题,“所有的查询工作都在客户端完成”WTF? :d