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 相关文章推荐
回答PHPCHINA上的几个问题:URL映射
Feb 14 PHP
我的php学习笔记(毕业设计)
Feb 21 PHP
php 对输入信息的进行安全过滤的函数代码
Jun 29 PHP
php 调试利器debug_print_backtrace()
Jul 23 PHP
PH P5.2至5.5、5.6的新增功能详解
Jul 14 PHP
PHP开发框架Laravel数据库操作方法总结
Sep 03 PHP
PHP程序中使用adodb连接不同数据库的代码实例
Dec 19 PHP
深入理解PHP中的count函数
May 31 PHP
PHP中session跨子域的三种实现方法
Jul 25 PHP
深入浅出讲解:php的socket通信原理
Dec 03 PHP
php使用crypt()函数进行加密
Jun 08 PHP
Laravel中Facade的加载过程与原理详解
Sep 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实现把数组按指定的个数分隔
2014/02/17 PHP
PHP数组生成XML格式数据的封装类实例
2016/11/10 PHP
兼容IE和FF的js脚本代码小结(比较常用)
2010/12/06 Javascript
jQuery实现动画效果的简单实例
2014/01/27 Javascript
php读取sqlite数据库入门实例代码
2014/06/25 Javascript
jQuery实现径向动画菜单效果
2015/07/17 Javascript
js实现内容显示并使用json传输数据
2016/03/16 Javascript
bootstrap table复杂操作代码
2016/11/01 Javascript
通过npm引用的vue组件使用详解
2017/03/02 Javascript
vue-cli的webpack模板项目配置文件分析
2017/04/01 Javascript
react-router实现跳转传值的方法示例
2017/05/27 Javascript
angular第三方包开发整理(小结)
2018/04/19 Javascript
JavaScript DOM元素常见操作详解【添加、删除、修改等】
2018/05/09 Javascript
详解微信小程序框架wepy踩坑记录(与vue对比)
2019/03/12 Javascript
记一次用ts+vuecli4重构项目的实现
2020/05/21 Javascript
vue集成一个支持图片缩放拖拽的富文本编辑器
2021/01/29 Vue.js
[06:15]2016国际邀请赛中国区预选赛单车采访:我顶WINGS
2016/06/27 DOTA
[01:04:49]KG vs LGD 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python中设置变量作为默认值时容易遇到的错误
2015/04/03 Python
使用Python脚本来获取Cisco设备信息的示例
2015/05/04 Python
python异步编程 使用yield from过程解析
2019/09/25 Python
基于h5py的使用及数据封装代码
2019/12/26 Python
Python 解决相对路径问题:&quot;No such file or directory&quot;
2020/06/05 Python
Tensorflow使用Anaconda、pycharm安装记录
2020/07/29 Python
浅谈如何使用python抓取网页中的动态数据实现
2020/08/17 Python
详解KMP算法以及python如何实现
2020/09/18 Python
纯CSS3实现自定义Tooltip边框涂鸦风格的教程
2014/11/05 HTML / CSS
阿里巴巴国际站:Alibaba.com
2016/07/21 全球购物
澳大利亚领先的皮肤诊所:Skin Matrix(抗衰老、痤疮专家、药妆护肤)
2018/05/20 全球购物
世界上最大的字体市场:MyFonts
2020/01/10 全球购物
2014元旦晚会策划方案
2014/02/19 职场文书
食品安全责任书
2014/04/15 职场文书
初中生庆国庆演讲稿范文2014
2014/09/25 职场文书
工作时间证明
2015/06/15 职场文书
结婚仪式主持词
2015/06/29 职场文书
企业安全隐患排查治理制度
2015/08/05 职场文书