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 相关文章推荐
第五节 克隆 [5]
Oct 09 PHP
Php中文件下载功能实现超详细流程分析
Jun 13 PHP
php导出word文档与excel电子表格的简单示例代码
Mar 08 PHP
PHPMailer发送HTML内容、带附件的邮件实例
Jul 01 PHP
thinkphp中ajax与php响应过程详解
Dec 08 PHP
PHP版本如何选择?应该使用哪个版本?
May 13 PHP
php ajax异步读取rss文档数据
Mar 29 PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
Oct 25 PHP
phalcon model在插入或更新时会自动验证非空字段的解决办法
Dec 29 PHP
利用php获得flv视频长度的实例代码
Oct 26 PHP
JS操作XML中DTD介绍及使用方法分析
Jul 04 PHP
使用php的mail()函数实现发送邮件功能
Jun 03 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 获取全局变量的代码
2011/04/21 PHP
PHP数据库万能引擎类adodb配置使用以及实例集锦
2014/06/12 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
2020/06/05 PHP
表单内同名元素的控制
2006/11/22 Javascript
用于自动添加Digg This!按钮的JavaScript
2006/12/23 Javascript
JavaScript 动态添加表格行 使用模板、标记
2009/10/24 Javascript
Jquery选择器 $实现原理
2009/12/02 Javascript
判断客户端浏览器是否安装了Flash插件的多种方法
2010/08/11 Javascript
了不起的node.js读书笔记之例程分析
2014/12/22 Javascript
JavaScript常用的弹出广告及背投广告实现方法
2015/02/06 Javascript
nodejs中使用多线程编程的方法实例
2015/03/24 NodeJs
jQuery+php实时获取及响应文本框输入内容的方法
2016/05/24 Javascript
JS+HTML5 canvas绘制验证码示例
2018/12/05 Javascript
浅谈微信小程序列表埋点曝光指南
2019/10/15 Javascript
Vuex modules模式下mapState/mapMutations的操作实例
2019/10/17 Javascript
24个解决实际问题的ES6代码片段(小结)
2020/02/02 Javascript
Vue组件基础用法详解
2020/02/05 Javascript
react使用CSS实现react动画功能示例
2020/05/18 Javascript
vue中destroyed方法的使用说明
2020/07/21 Javascript
小程序自定义弹框效果
2020/11/16 Javascript
python多线程操作实例
2014/11/21 Python
Python编程中的异常处理教程
2015/08/21 Python
Python如何使用Gitlab API实现批量的合并分支
2019/11/27 Python
关于Python-faker的函数效果一览
2019/11/28 Python
使用keras2.0 将Merge层改为函数式
2020/05/23 Python
记一次高分屏下canvas模糊问题
2020/02/17 HTML / CSS
韩国三星集团旗下时尚品牌官网:SSF SHOP
2016/08/02 全球购物
苏宁红孩子母婴商城:redbaby
2017/02/12 全球购物
汽车销售顾问求职自荐信
2014/01/01 职场文书
项目总经理岗位职责
2014/02/14 职场文书
小学生爱国演讲稿
2014/04/25 职场文书
基层干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
婚宴父亲致辞
2015/07/27 职场文书
SqlServer数据库远程连接案例教程
2021/07/15 SQL Server
Mysql案例刨析事务隔离级别
2021/09/25 MySQL
一次SQL如何查重及去重的实战记录
2022/03/13 MySQL