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
网页游戏开发入门教程三(简单程序应用)
Nov 02 PHP
php 函数使用方法与函数定义方法
May 09 PHP
一些php技巧与注意事项分析
Feb 03 PHP
PHP笔记之:日期函数的使用介绍
Apr 24 PHP
如何利用PHP执行.SQL文件
Jul 05 PHP
php的curl封装类用法实例
Nov 07 PHP
php输出全球各个时区列表的方法
Mar 31 PHP
Yii2 rbac权限控制操作步骤实例教程
Apr 29 PHP
php similar_text()函数的定义和用法
May 12 PHP
PHP基于ORM方式操作MySQL数据库实例
Jun 21 PHP
Yii框架组件的事件机制原理与用法分析
Apr 07 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
session 的生命周期是多长
2006/10/09 PHP
PHP执行linux命令常用函数汇总
2016/02/02 PHP
mac os快速切换多个PHP版本的方法
2017/03/07 PHP
js不能跳转到上一页面的问题解决方法
2013/03/01 Javascript
javascript中的__defineGetter__和__defineSetter__介绍
2014/08/15 Javascript
jquery实现触发时更新下拉列表内容的方法
2015/12/02 Javascript
node.js require() 源码解读
2015/12/13 Javascript
详解javascript new的运行机制
2016/01/26 Javascript
javascript实现无法关闭的弹框
2016/11/27 Javascript
jquery广告无缝轮播实例
2017/01/05 Javascript
完美实现js焦点轮播效果(一)
2017/03/07 Javascript
JavaScript中立即执行函数实例详解
2017/11/04 Javascript
基于three.js编写的一个项目类示例代码
2018/01/05 Javascript
vue全局组件与局部组件使用方法详解
2018/03/29 Javascript
react router4+redux实现路由权限控制的方法
2018/05/03 Javascript
Vue中使用 setTimeout() setInterval()函数的问题
2018/09/13 Javascript
Vue函数式组件-你值得拥有
2019/05/09 Javascript
微信小程序sessionid不一致问题解决
2019/08/30 Javascript
JavaScript写个贪吃蛇小游戏(超详细)
2020/03/17 Javascript
JavaScript 禁止用户保存图片的实现代码
2020/04/28 Javascript
[43:32]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第一场
2014/05/26 DOTA
python双向链表实现实例代码
2013/11/21 Python
Python深入学习之对象的属性
2014/08/31 Python
Python中time模块和datetime模块的用法示例
2016/02/28 Python
Python使用requests及BeautifulSoup构建爬虫实例代码
2018/01/24 Python
python3 assert 断言的使用详解 (区别于python2)
2019/11/27 Python
TensorFlow自定义损失函数来预测商品销售量
2020/02/05 Python
Keras load_model 导入错误的解决方式
2020/06/09 Python
Python实现一个简单的递归下降分析器
2020/08/01 Python
Selenium+BeautifulSoup+json获取Script标签内的json数据
2020/12/07 Python
利用CSS3实现进度条的两种姿势详解
2017/03/21 HTML / CSS
西部世纪面试题
2014/12/05 面试题
shell的种类有哪些
2015/04/15 面试题
2015年幼儿园学期工作总结
2015/05/22 职场文书
欢送领导祝酒词
2015/08/12 职场文书
小学二年级班主任工作经验交流材料
2015/11/02 职场文书