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 相关文章推荐
PHP4中session登录页面的应用
Jul 25 PHP
简单的php写入数据库类代码分享
Jul 26 PHP
PHP编码转换函数 自动转换字符集支持数组转换
Dec 16 PHP
适用于抽奖程序、随机广告的PHP概率算法实例
Apr 09 PHP
php上传图片之时间戳命名(保存路径)
Aug 15 PHP
PHP实现HTML页面静态化的方法
Nov 04 PHP
浅谈PHP发送HTTP请求的几种方式
Jul 25 PHP
ThinkPHP5 的简单搭建和使用详解
Nov 15 PHP
PHP删除字符串中非字母数字字符方法总结
Jan 20 PHP
PHP实现数组和对象的相互转换操作示例
Mar 20 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
May 09 PHP
浅谈Laravel模板实体转义带来的坑
Oct 22 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
PHP设置一边执行一边输出结果的代码
2013/09/30 PHP
linux实现php定时执行cron任务详解
2013/12/24 PHP
Laravel中Trait的用法实例详解
2016/03/16 PHP
thinkphp3.2.3版本的数据库增删改查实现代码
2016/09/22 PHP
Laravel配置全局公共函数的方法步骤
2019/05/09 PHP
js兼容标准的表格变色效果
2008/06/28 Javascript
浅析javascript中function 的 length 属性
2014/05/27 Javascript
javascipt:filter过滤介绍及使用
2014/09/10 Javascript
基于JavaScript实现弹出框效果
2016/02/19 Javascript
20分钟轻松创建自己的Bootstrap站点
2016/05/12 Javascript
JS两个数组比较,删除重复值的巧妙方法(推荐)
2016/06/03 Javascript
jQuery EasyUI Draggable拖动组件
2017/03/01 Javascript
React Native 环境搭建的教程
2017/08/19 Javascript
axios发送post请求,提交图片类型表单数据方法
2018/03/16 Javascript
js运算符的一些特殊用法
2018/07/29 Javascript
js实现移动端轮播图
2020/12/21 Javascript
Moment.js实现多个同时倒计时
2019/08/26 Javascript
vue使用require.context实现动态注册路由
2020/12/25 Vue.js
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
Python删除指定目录下过期文件的2个脚本分享
2014/04/10 Python
python实现定制交互式命令行的方法
2014/07/03 Python
Python中使用logging模块代替print(logging简明指南)
2014/07/09 Python
对python中Matplotlib的坐标轴的坐标区间的设定实例讲解
2018/05/25 Python
对python条件表达式的四种实现方法小结
2019/01/30 Python
解决Python中定时任务线程无法自动退出的问题
2019/02/18 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
2019/08/02 Python
Pandas聚合运算和分组运算的实现示例
2019/10/17 Python
python json.dumps() json.dump()的区别详解
2020/07/14 Python
CSS3 实现侧边栏展开收起动画
2014/12/22 HTML / CSS
Rockport乐步美国官网:风靡美国的白宫鞋
2016/11/24 全球购物
生物制药毕业生自荐信
2013/10/16 职场文书
个人自我鉴定
2013/11/07 职场文书
化工专业应届生求职信
2013/11/08 职场文书
教师竞聘上岗演讲稿
2014/09/03 职场文书
黄河绝恋观后感
2015/06/08 职场文书
二维码条形码生成的JavaScript脚本库
2022/07/07 Javascript