php连接MSsql server的五种方法总结


Posted in PHP onMarch 04, 2018

参考php手册,对php连接sql server系列做出个小结。主要有五种方式:

一、通过mssql_系列函数

mssql_系列函数主要针对php5.3以下的版本和sqlserver2000及以上版本使用。

在php.ini中将;extension=php_mssql.dll;extension=php_msql.dll;extension=php_pdo_mssql.dll ;extension=php_pdo_odbc.dll 前面的分号去掉。

<?php
 $server ="localhost"; //服务器IP地址,如果是本地,可以写成localhost
 $uid ="sa"; //用户名
 $pwd ="123456"; //密码
 $database ="jb51net"; //数据库名称
 
////进行数据库连接
 $conn =mssql_connect($server,$uid,$pwd) or die ("connect failed");
 mssql_select_db($database,$conn);
 
////执行查询语句
 $query ="select * from A_PHP";
 $row =mssql_query($query);
 
////打印输出查询结果
 while($list=mssql_fetch_array($row))
 {
    print_r($list);
    echo "<br>";
 }
?>

二、通过sqlsrv_系列函数

sqlsrv_系列函数主要针对php5.3以上的版本和sql server 2005以上版本使用。

需要下载安装Microsoft Drivers for PHP for SQL Server驱动,地址:https://msdn.microsoft.com/library/dn865013.aspx。下载后解压放到php对应的ext目录下。然后打开php.ini文件,在extension 后面添加一下配置

extension=php_pdo_sqlsrv_53_ts.dll
extension=php_sqlsrv_53_ts.dll

重启apache,查看phpinfo(),确保apache已经支持sqlsrv。如下图所示:

 php连接MSsql server的五种方法总结

并且安装sqlncli.msi,这个文件是协助windows环境访问sql server所在的数据库服务器的

<?php

 $serverName = "localhost";
 $connectionInfo = array( "Database"=>"jb51net", "UID"=>"sa", "PWD"=>"123456");
 $conn = sqlsrv_connect( $serverName, $connectionInfo );
 if( $conn === false ) {
   die( print_r( sqlsrv_errors(), true));
 }

 $sql = "SELECT * FROM dbo.A_PHP";
 $stmt = sqlsrv_query( $conn, $sql );
 if( $stmt === false) {
   die( print_r( sqlsrv_errors(), true) );
 }


 while($row = sqlsrv_fetch_array($stmt))
 {echo $row[0]."-----".$row[1]."<br/>";}
?>

三、通过odbc方式连接sqlserver系列

需要在php.ini中开启php_pdo_odbc.dll扩展。

php连接MSsql server的五种方法总结

<?php
$con = odbc_connect('DRIVER={SQL Server};SERVER=localhost;DATABASE=jb51net,'sa','123456');
$query = "SELECT * FROM dbo.A_PHP";
$result = odbc_do($con,$query);
while(odbc_fetch_row($result))
{
  $list = odbc_result($result, "id");	print_r($list);echo '<br/>';
}
?>

四、通过PDO方式连接sqlserver

在php.ini中开启php_pdo_mssql.dll扩展。在phpinfo中可查看

<?php
 $conn = new PDO("sqlsrv:server=localhost;database=jb51net","sa","123456");
 $sql = "select count(*) count from CKXS2";
 $res = $conn->query($sql);
 while ($row = $res->fetch()){
 print_r($row);
 }

?>

五、通过COM方式连接。

下面是实现代码:

<?php
 $conn = new Com("ADODB.Connection"); //实例化一个Connection对象 
 $connstr = "provider=sqloledb;datasource=.;uid=sa;pwd=123456;database=jb51net;"; 
 $conn->Open($connstr); 
 $rs = new Com("ADODB.Recordset"); //实例化一个Recordcount对象 

 $rs->Open('select * from CKXS2 ', $conn, 1, 1); 
 $count = $rs->RecordCount; 
 echo "共有{$count}条纪录<br />"; 
?>
PHP 相关文章推荐
教你如何把一篇文章按要求分段
Oct 09 PHP
实用函数7
Nov 08 PHP
php代码把全角数字转为半角数字
Dec 10 PHP
PHP 面向对象实现代码
Nov 11 PHP
php用数组返回无限分类的列表数据的代码
Aug 08 PHP
解析php时间戳与日期的转换
Jun 06 PHP
php数组键名技巧小结
Feb 17 PHP
PHP设计模式之观察者模式实例
Feb 22 PHP
php处理单文件、多文件上传代码分享
Aug 24 PHP
php session的应用详细介绍
Mar 22 PHP
PHP实现的超长文本分页显示功能示例
Jun 04 PHP
PHP数组基本用法与知识点总结
Jun 02 PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 #PHP
LaravelS通过Swoole加速Laravel/Lumen详解
Mar 02 #PHP
PHP生成随机数的方法总结
Mar 01 #PHP
PHP Post获取不到非表单数据的问题解决办法
Feb 27 #PHP
php实现生成带二维码图片并强制下载功能
Feb 24 #PHP
php递归函数怎么用才有效
Feb 24 #PHP
php格式文件打开的四种方法
Feb 24 #PHP
You might like
vs中通过剪切板循环来循环粘贴不同内容
2011/04/30 PHP
php数组函数序列之array_key_exists() - 查找数组键名是否存在
2011/10/29 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
PHP yield关键字功能与用法分析
2019/01/03 PHP
Laravel如何实现适合Api的异常处理响应格式
2020/06/14 PHP
php实现断点续传大文件示例代码
2020/06/19 PHP
jquery 多级下拉菜单核心代码
2010/05/21 Javascript
jquery EasyUI的formatter格式化函数代码
2011/01/12 Javascript
判断用户的在线状态 onbeforeunload事件
2011/03/05 Javascript
页面只能打开一次Cooike如何实现
2012/12/04 Javascript
js常用自定义公共函数汇总
2014/01/15 Javascript
表单提交前触发函数返回true表单才会提交
2014/03/11 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
2015/03/12 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
2015/09/17 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
2016/01/05 Javascript
JS动态生成年份和月份实例代码
2017/02/04 Javascript
jQuery基于ajax实现页面加载后检查用户登录状态的方法
2017/02/10 Javascript
js replace()去除代码中空格的实例
2017/02/14 Javascript
Vue中component标签解决项目组件化操作
2020/09/04 Javascript
[01:02:10]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第一局
2016/02/26 DOTA
python进程类subprocess的一些操作方法例子
2014/11/22 Python
总结python实现父类调用两种方法的不同
2017/01/15 Python
python自动发邮件库yagmail的示例代码
2018/02/23 Python
详解Python3的TFTP文件传输
2018/06/26 Python
python: 判断tuple、list、dict是否为空的方法
2018/10/22 Python
python print输出延时,让其立刻输出的方法
2019/01/07 Python
Python批量生成特定尺寸图片及图画任意文字的实例
2019/01/30 Python
详解python中的线程与线程池
2019/05/10 Python
Python + Requests + Unittest接口自动化测试实例分析
2019/12/12 Python
pytorch实现线性拟合方式
2020/01/15 Python
python实现简单遗传算法
2020/09/18 Python
幼儿教师考核制度
2014/01/25 职场文书
战友聚会策划方案
2014/06/13 职场文书
详解TypeScript中的类型保护
2021/04/29 Javascript
javascript代码简写的几种常用方式汇总
2021/08/23 Javascript
Django框架中表单的用法
2022/06/10 Python