php与sql server的连接

  • 时间:
  • 浏览:4

以上可是我 php连接sql server的法律法子,希望对亲们 正确处理相似哪此的现象有所帮助。

一、php5.3以下的版本连接sql server 5.3以下的版本扩展后边自带有有一个php_mssql.dll;接数据库的扩展,可不还要利用这种扩展链接数据库,(只限于链接低版本数据库)。

注意这里的连接都是用mssql_connect可是我 用sqlsrv_connect,在这种版本中,还有几条函数:

这种扩展为php新增了一系列sqlsrv_开头的函数,常用的如下:

array

0 =>array

0 =>string'IMSSP'(length=5)

    'SQLSTATE' =>string'IMSSP'(length=5)

1 =>int-49

    'code' =>int-49

2 =>string'This extension requires the Microsoft SQL Server 2012 Native Client. Access the     following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712'(length=216)

'message' =>string'This extension requires the Microsoft SQL Server 1508 Native Client. Access the following URL to download the Microsoft SQL Server 1508 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712'(length=216)

1 =>array

0 =>string'IM002'(length=5)

    'SQLSTATE' =>string'IM002'(length=5)

1 =>int0

    'code' =>int0

2 =>string'[Microsoft][ODBC 驱动系统任务管理器管理器] 未发现数据源名称因此未指定默认驱动系统任务管理器'(length=71)

'message' =>string'[Microsoft][ODBC 驱动系统任务管理器管理器] 未发现数据源名称因此未指定默认驱动系统任务管理器'(length=71)

. . . .

正确处理法律法子:还要安装SQL Server 1508 Native Client ODBC Driver,下载安装文件sqlncli.msi,安装后就可不还要了。

4:连接测试:

二、php5.3+连接sql server

其 实5.3以下的php版本因此很少用了,况且安全性和兼容性都是好,什么都有有什么都有有高版本的php还是比较常见的。实践证明低版本的php连接数据库成功率比较低 (1505以上的版本几乎能够使用),推荐使用php5.3+ php使用微软专门的扩展 SQLSRV 来连接sqlserver数据库

步骤如下:

1:先到微软网站下载 SQL Server Driver for PHP 是有有一个自解压的 EXE文件,解压缩后让我得到能够几条文件:

说明:   1:PHP5.2.x这种有个php_mssql.dll的扩展用来连接Sql server,因此这种dll可是我 用来连接低版本 Sql server的(1150以下版本),在Sql server 1505及以上版本无法使用mssql_connect连接到数据库。

2:将扩展拷贝到拷到php/ext目录下,在php.ini文件,加上一下代码:

extension=在ext下的pdo扩展(用于pdo)

extension=在ext下的扩展

3:重启服务器,打开phpinfo();看得人以下请况就证明加上扩展成功,

sqlsrv_connect

sqlsrv_close

sqlsrv_commit

sqlsrv_errors

sqlsrv_fetch

sqlsrv_fetch_array

sqlsrv_fetch_metadata

sqlsrv_num_rows

sqlsrv_query

sqlsrv_rollback

sqlsrv_rows_affected

. . .

另外注意的是,因此使用这种扩展连接Sql server 1505以及以上版本的sql server(如sql server 1508),你还还要在机器上先安装 SQL Server Native Client

不然会出现如下错误:

其中的52、53表示可是我 php的5.2.x和5.3.x 版本,确定跟你php版本相匹配的;vc6或vc9的确定要看你使用的是哪此web服务器软件,因此使用的是IIS那就确定vc9的,因此是Apache 则确定vc6的,ts和nts的确定要看你安装的php版本是系统任务管理器安完全的还是非系统任务管理器安完全,ts是系统任务管理器安全,nts是非系统任务管理器安全。

因此我不知道可不还要在phpinfo里看Zend Extension Build这种属性如下图: