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 相关文章推荐
PHP设计模式之解释器模式的深入解析
Jun 13 PHP
关于php循环跳出的问题
Jul 01 PHP
destoon二次开发入门示例
Jun 20 PHP
ThinkPHP上使用多说评论插件的方法
Oct 31 PHP
php调用shell的方法
Nov 05 PHP
php+mysqli使用预处理技术进行数据库查询的方法
Jan 28 PHP
php用正则判断是否为数字的方法
Mar 25 PHP
配置Nginx+PHP的正确思路与过程
May 10 PHP
php array_pop 删除数组最后一个元素实例
Nov 02 PHP
Laravel给生产环境添加监听事件(SQL日志监听)
Jun 19 PHP
django中的ajax组件教程详解
Oct 18 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
Mar 26 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
thinkphp验证码显示不出来的解决方法
2014/03/29 PHP
php url路由入门实例
2014/04/23 PHP
php实现按文件名搜索文件的远程文件查找器
2014/05/10 PHP
ThinkPHP3.1新特性之对分组支持的改进与完善概述
2014/06/19 PHP
PHP实现原生态图片上传封装类方法
2016/11/08 PHP
PHP实现接收二进制流转换成图片的方法
2017/01/10 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
form中限制文本字节数js代码
2007/06/10 Javascript
使用Node.js给图片加水印的方法
2016/11/15 Javascript
canvas学习之API整理笔记(二)
2016/12/29 Javascript
JavaScript严格模式下关于this的几种指向详解
2017/07/12 Javascript
无限循环轮播图之运动框架(原生JS实现)
2017/10/01 Javascript
vue+elementUI动态生成面包屑导航教程
2019/11/04 Javascript
CentOS 8.2服务器上安装最新版Node.js的方法
2020/12/16 Javascript
[53:36]Liquid vs VP Supermajor决赛 BO 第三场 6.10
2018/07/05 DOTA
wxpython 学习笔记 第一天
2009/02/09 Python
实例Python处理XML文件的方法
2015/08/31 Python
python使用wmi模块获取windows下的系统信息 监控系统
2015/10/27 Python
python生成式的send()方法(详解)
2017/05/08 Python
Python排序算法实例代码
2017/08/10 Python
python3安装pip3(install pip3 for python 3.x)
2018/04/03 Python
对Python中Iterator和Iterable的区别详解
2018/10/18 Python
自定义django admin model表单提交的例子
2019/08/23 Python
Python3的socket使用方法详解
2020/02/18 Python
Python Selenium XPath根据文本内容查找元素的方法
2020/12/07 Python
详解css3中dispaly的Grid布局与Flex布局
2020/09/11 HTML / CSS
美国知名玩具品牌:Melissa & Doug
2016/08/16 全球购物
德国骆驼商店:ActiveFashionWorld
2017/11/18 全球购物
村干部培训班主持词
2014/03/28 职场文书
领导班子四风对照检查材料
2014/09/23 职场文书
基层党支部整改方案
2014/10/25 职场文书
破坏寝室公物检讨书
2014/11/17 职场文书
中标通知书格式
2015/04/17 职场文书
2015年档案管理员工作总结
2015/05/13 职场文书
离婚起诉书范本
2015/05/18 职场文书
汤姆叔叔的小屋读书笔记
2015/06/30 职场文书