PHP与SQL Server 2005+
当前,我们有一个混合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