博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP连接SQL Server数据库
阅读量:6463 次
发布时间:2019-06-23

本文共 2684 字,大约阅读时间需要 8 分钟。

服务环境:apache2.2 + PHP5.2 + Sql Server 2008 R2

一、所需库和工具
1、SQLSRV20.EXE (php5.2版本对应的的Sql Server扩展库)
注释:php5.2版本所需要的Sql Server扩展库
下载地址:http://pan.baidu.com/s/1qWmDIji
SQLSRV30.EXE (php5.3以上版本对应的的Sql Server扩展库)
下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=20098
2、sqlncli.msi (32位操作系统 Microsoft SQL Server Native Client)
下载地址:http://pan.baidu.com/s/1eQ7qRxK
sqlncli64.msi (64位操作系统 Microsoft SQL Server Native Client)
下载地址:http://pan.baidu.com/s/1gdorZ3t
二、安装
1、解压SQLSRV20.EXE
双击打开SQLSRV20.EXE,将文件解压到 php\ext 文件夹下
2、安装sqlncli.msi
注释:安装系统对应的版本
三、配置
1、修改 php.ini 文件
  1) mssql.secure_connection = Off 将Off改成On (mssql.secure_connection = On)
  2) 去掉 extension=php_mssql.dll 前面的";"
  3) 去掉 extension=php_pdo_mssql.dll 前面的";"
  4) 添加扩展库
  extension=php_sqlsrv_52_ts_vc6.dll
  extension=php_pdo_sqlsrv_52_nts_vc6.dll
  extension=php_pdo_sqlsrv_53_ts.dll
  extension=php_pdo_sqlsrv_52_ts_vc6.dll
注释:ts和nts 、VC6和VC9的区别
四、测试环境
 1、通过phpinfo(); 查看是否有sqlsrv 和 pdo_sqlsrv
五、连接数据库
SQL Server常用的有两种认证方式,一种是本地系统账户认证(Windows Authentication ),一种是使用用户名和密码(SQL Server Authentication ),第二种认证方式必须启用SQL Server的混合模式。

    1.Windows Authentication连接部分代码段:		$serverName = "localhost"; //数据库服务器地址		$connectionInfo = array("Database"=>'Databasename',"ConnectionPooling"=>false);		$conn = sqlsrv_connect( $serverName, $connectionInfo);		2、	SQL Server Authentication连接部分代码段:		$serverName = "localhost"; //数据库服务器地址		$uid = "sa"; //数据库用户名		$pwd = "pldsec"; //数据库密码		$connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>'databasename');		$conn = sqlsrv_connect( $serverName, $connectionInfo);		if( $conn == false){		echo "连接数据库失败!";		die( print_r( sqlsrv_errors(), true));	}	$sql = "select * from Group3";	$query = sqlsrv_query( $conn, $sql , array(), array( "Scrollable" => SQLSRV_CURSOR_KEYSET ));	$num_rows = sqlsrv_num_rows($query);	if($num_rows > 0){		while ($row = sqlsrv_fetch_array($query)){			echo $row['aaaa'];		}	}

注释:

1. VC6与VC9的区别:
  VC6版本是使用Visual Studio 6编译器编译的,如果你的PHP是用Apache来架设的,那你就选择VC6版本。
  VC9版本是使用Visual Studio 2008编译器编译的,如果你的PHP是用IIS来架设的,那你就选择 VC9版本。
  VC9版本是针对IIS服务器的版本,没有对APACHE的支持,而VC6版本对IIS和apache都提供了支持
2.Ts与nts的区别:
    Windows版的PHP从版本5.2.1开始有Thread Safe和NoneThread Safe之分。
先从字面意思上理解,Thread Safe是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。
3.PHP的两种执行方式:ISAPI和FastCGI。
    ISAPI执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择ThreadSafe版本;
而FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI来执行PHP,建议选择NonThread Safe版本。
通过phpinfo(); 查看其中的 Thread Safety 项,这个项目就是查看是否是线程安全,如果是:enabled,一般来说应该是ts版,否则是nts版。

 

转载于:https://www.cnblogs.com/rnckty/p/4097431.html

你可能感兴趣的文章
如何在 GitHub 建立个人主页和项目演示页面
查看>>
工厂模式
查看>>
PMI网站中pdu查询
查看>>
[USACO09OPEN]捉迷藏Hide and Seek
查看>>
$\sin x_0+\frac{\cos x_0}{1!}(x-x_0)+\cdots +\frac{\sin (x_0+n\frac{\pi}{2})}{n!}(x-x_0)^n+\cdots$
查看>>
python学习之老男孩python全栈第九期_day009之初始函数初窥
查看>>
第二次作业 随机数四则运算
查看>>
AESEncryption Aes 加密
查看>>
关于定位中left和right,top和bottom的权重问题
查看>>
分析bugreport
查看>>
腾讯UED 漂亮的提示信息
查看>>
[转]fedora亮度控制
查看>>
初始化指针
查看>>
相册加密APP技术支持
查看>>
CentOS6.5_python2.7.3下virt-manager无法启动
查看>>
Day1:Python编写三级菜单
查看>>
JavaScript学习笔记
查看>>
爬虫实践-拉勾网测试经理JD抓取【2018.05.15】
查看>>
Java并发编程:CountDownLatch、CyclicBarrier和 Semaphore
查看>>
第一次冲刺--个人工作总结04
查看>>