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 3行代码的分页算法(求起始页和结束页)
Oct 21 PHP
PHP array_push 数组函数
Dec 26 PHP
libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢
Mar 15 PHP
PHP中去除换行解决办法小结(PHP_EOL)
Nov 27 PHP
PHP file_exists问题杂谈
May 07 PHP
PHP遍历某个目录下的所有文件和子文件夹的实现代码
Jun 28 PHP
php smarty模板引擎的6个小技巧
Apr 24 PHP
JS异常处理try..catch语句的作用和实例
May 05 PHP
Codeigniter上传图片出现“You did not select a file to upload”错误解决办法
Jun 12 PHP
PHP中创建和编辑Excel表格的方法
Sep 13 PHP
详解PHP多个进程配合redis的有序集合实现大文件去重
Mar 06 PHP
Laravel-添加后台模板AdminLte的实现方法
Oct 08 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脚本的10个技巧(7)
2006/10/09 PHP
PHP用mysql数据库存储session的代码
2010/03/05 PHP
PHP调用C#开发的dll类库方法
2014/07/28 PHP
php+mysqli实现批量替换数据库表前缀的方法
2014/12/29 PHP
php的PDO事务处理机制实例分析
2017/02/16 PHP
ASP.NET MVC中EasyUI的datagrid跨域调用实现代码
2012/03/14 Javascript
JavaScript执行顺序详细介绍
2013/12/04 Javascript
jquery的live使用注意事项
2014/02/18 Javascript
从零学JS之你需要了解的几本书
2014/05/19 Javascript
node.js中的http.response.getHeader方法使用说明
2014/12/14 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
2015/09/02 Javascript
jquery中checkbox使用方法简单实例演示
2015/11/24 Javascript
基于jQuery实现选取月份插件附源码下载
2015/12/28 Javascript
JS中常用的正则表达式
2016/09/29 Javascript
jquery mobile移动端幻灯片滑动切换效果
2020/04/15 Javascript
vue-cli webpack 引入swiper的操作方法
2018/09/15 Javascript
简单实现节流函数和防抖函数过程解析
2019/10/08 Javascript
node实现mock-plugin中间件的方法
2019/12/25 Javascript
[01:03:47]VP vs NewBee Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
python基础教程之数字处理(math)模块详解
2014/03/25 Python
pip安装py_zipkin时提示的SSL问题对应
2018/12/29 Python
对pyqt5多线程正确的开启姿势详解
2019/06/14 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
python如何处理程序无法打开
2020/06/16 Python
Python制作一个仿QQ办公版的图形登录界面
2020/09/22 Python
python正则表达式re.match()匹配多个字符方法的实现
2021/01/27 Python
Travelstart沙特阿拉伯:廉价航班、豪华酒店和实惠的汽车租赁优惠
2019/04/06 全球购物
Whistles官网:英国女装品牌
2020/08/14 全球购物
俄罗斯达美乐比萨外送服务:Domino’s Pizza
2020/12/18 全球购物
计算机专业自我鉴定
2013/10/15 职场文书
《在山的那边》教学反思
2014/02/23 职场文书
护校行动方案
2014/05/31 职场文书
学生检讨书怎么写
2014/10/09 职场文书
大学同学聚会感言
2015/07/30 职场文书
一封真诚的自荐信帮你赢得机会
2019/05/07 职场文书
修改MySQL的数据库引擎为INNODB的方法
2021/05/26 MySQL