[简约webAPI]php连接MSsql server的五种方法总结

2023-05-16

参考了下php官方手册总结了五种PHP连接MSsql server的方法,mssql_系列函数,sqlsrv_系列函数,odbc方式连接sqlserver,PDO方式连接sqlserver,COM方式连接

 

参考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。如下图所示:

 

 并且安装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
$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 />"; 
?>  

 

 

 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[简约webAPI]php连接MSsql server的五种方法总结 的相关文章

  • 使用操作系统用户名/密码在 PHP 中进行身份验证?

    我想知道是否有一种方法可以使用 PHP 或者可能是其他一些 CGI 但最好是 PHP 来使用其操作系统 在本例中为 Linux Debian 5 用户名和密码来验证用户 可能的 难的 谢谢 一般来说 这种东西是特定于操作系统的 并与现有的身
  • Php Define() 命名空间内的常量说明

    正如标题所示 我真的很想澄清这一点 我读过一些关于这个主题的文章和帖子 但有些东西不适合我 我会补充一点 我对 Php 有点陌生 好吧 这就是我想了解的 namespace Information define ROOT URL infor
  • Stripe API - 代理后面的 PHP Curl 请求

    我正在尝试使用 php 和curl 在代理后面向 stripe api 发出请求 如果我不在代理后面 则以下内容有效 ch curl init curl setopt ch CURLOPT URL https api stripe com
  • Facebook“喜欢”按钮,喜欢另一个页面/URL

    我有一个链接列表 每个单独的页面上都有一个 喜欢 按钮来 喜欢 该页面 但我想要列表中每个链接旁边有一个 喜欢 按钮 该按钮会喜欢旁边链接的 URL 就像单击链接然后单击 喜欢 按钮一样 我该怎么做呢 要在每个单独的页面上创建按钮 我使用以
  • PHP:会话 |无法解码会话对象

    我尝试将电子商务功能添加到遗留项目中 因此我仍然需要旧的会话处理程序 我使用 PHP v7 1 14 和 Session2DB https github com voku session2db tree 4 0 0 https github
  • 为什么不能将 MYSQL 函数传递到准备好的 PDO 语句中?

    在我看来 以下脚本应该有效 stmt db gt prepare UPDATE table SET status date modified stmt gt execute array 1 NOW 但经过时NOW 进入准备好的声明中 什么也
  • $_COOKIE[] 设置后似乎没有反映更改

    我不记得过去使用 Cookie 时遇到过很多问题 但我在尝试时遇到了一些意想不到的结果 我在本地主机上运行 因此我的域设置 这将产生以下输出 Cookie Set Cookie equals 457718770 shou
  • php 验证整数[重复]

    这个问题在这里已经有答案了 我想知道为什么这不起作用 echo gettype GET id returns string if is int GET id echo Integer 如何验证从 GET POST 传递的数据是否为整数 Ca
  • Laravel 资源策略始终为 false

    我试图允许用户在 Laravel 5 4 中查看自己的个人资料 用户策略 php public function view User authUser user return true 在 AuthServiceProvider php 中
  • htaccess隐藏php扩展时出错,只隐藏html

    我在使用 htaccess 隐藏网站上的 php 扩展时遇到问题 我看到很多网站试图修复它 但没有任何结果 但只有 html 扩展名对我来说是隐藏的 在我的 htaccess 上 我用这个来隐藏扩展 它就在错误页面之后 这是我的 htacc
  • 致命错误:调用未定义的方法 mysqli_stmt::query()

    为什么我会收到以下错误 致命错误 调用未定义的方法 mysqli stmt query mysqli new mysqli localhost or die mysqli gt connect error function checklog
  • OOP 中的静态和动态变量/方法是什么?

    我试图更好地理解 OOP 中的基本概念 面向对象编程中的静态和动态变量和方法是什么 例如 使用 this 与使用双冒号 之间有什么区别 this this gt a method 优点 缺点 这个 不是自我记录的 如下所示 this gt
  • PHP 论坛软件可以轻松与现有网站集成吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个现有的 php 网站 已经设置了用户系统 注册 身份验证 丢失密码等 我决定添加一个留言板并将其与现有网站集成 在一个网站上注册应
  • 通过另一个二维数组中的行过滤二维数组的行

    我有两个数组 我正在使用array diff assoc 以获得差异 但它总是返回common set结果中的行 它应该返回new q sets排 我的方法有什么问题吗 样本数据 array1 12 gt new q sets 11 gt
  • 有没有办法获取 PHP 中可用区域设置的列表?

    在Java中 你可以调用Locale getAvailableLocales 获取可用区域设置的列表 我期待 PHP 的同等功能Locale http php net manual en class locale php类 但找不到 有没有
  • JQuery 验证不起作用

    我有一种表单 其中一个输入类型的值为 名字 但这可以在 onfocus 函数上更改我想验证此输入字段 如果它为空白或 名字 我有两个 jQuery 文件jquery 1 4 2 min js jquery validate pack js
  • 使用 Laravel dusk 仅迁移一次

    根据到 数据库测试 文档 https laravel com docs 5 4 database testing resetting the database after each test我可以在每次测试后重置数据库 第一个选项 第二个选
  • 在 PHP 中创建关联数组

    我有一个多维数组 shop array array appn1 pub1 pub2 pub3 array appn2 pub1 array appn3 pub1 pub2 每个数组中的第一项是申请编号每个数组中的其余部分是出版号 我得到每个
  • 从字符串中的链接中删除基本 URL

    我有一个带有图像链接的字符串 image link raw http website com files 2012 10 image001 png 现在我想删除http website com然后就得到 files 2012 10 imag
  • 升级到 5.4 但“php -v”仍然返回旧版本

    我使用的是 OSX Lion 10 7 5 正如建议的如何在 Mac OS X 中升级 PHP https stackoverflow com questions 2526085 how do i upgrade php in mac os

随机推荐

  • Devstack- openstack 自动化安装整理

    Devstack openstack 自动化安装整理 openstack的一种自动化安装方式 xff0c 虚拟机系统 xff1a ubuntu16 04 xff0c 单节点安装 1 配置pip源 OpenStack大部分项目是python项
  • Towards Adversarially Robust Object Detection 论文笔记

    前言 许多工作证明分类器在面对对抗攻击 xff08 adversarial attack xff09 时是非常脆弱的 xff0c 比如有一种对抗样本 xff0c 它只对原图进行很轻微地修改 xff0c 但是在视觉上与原图相比是完全不同的 因
  • Linux/Ubuntu环境搭建(二):创建添加新磁盘、搭建Samba服务器

    本文将介绍 如何在虚拟机ubuntu上创建添加一个新磁盘 搭建samba服务器 1 添加新磁盘 在VMware安装Ubuntu系统过程中 xff0c 我们已经创建了一个磁盘了 xff0c 但这个磁盘是跟系统绑定在一起的 xff0c 以后重装
  • Linux 故障排查-测试网络端口连通性

    1 telnet 方法 telnet 协议是 TCP IP 协议族中的一员 xff0c 是 Internet 远程登陆服务的标准协议和主要方式 它为用户提供了在本地计算机上完成远程主机工作的能力 因此我们可以使用telnet 来测试远程机器
  • 基于Redis的布隆过滤器的实现

    项目简介 包含一个基于Redis的布隆过滤器的实现 xff0c 以及应用到Scrapy中的Demo 地址 xff1a BloomFilterRedis 布隆过滤器 网上有很多介绍 xff0c 推荐 数学之美 xff0c 介绍的很详尽 xff
  • 如何利用vs2010(适用其他版本)创建一个c语言程序

    如何利用vs2010创建你的第一个c语言程序 1 打开vs 2010 xff0c 选中新建项目 2 选中win32控制台应用程序 xff0c 起个项目名 不加 c xff0c 自定义路径 3 下一步 4 选中空项目 xff0c 下一步 5
  • Django之后台上传图片(二十二)

    上传图片 在python中进行图片操作 xff0c 需要安装包PIL pip install Pillow 61 61 3 4 1 在Django中上传图片包括两种方式 xff1a 在管理页面admin中上传图片 自定义form表单中上传图
  • #华为mate8公开版解bl锁避免踩雷的事项

    华为mate8公开版解bl锁避免踩雷的注意事项 最近一个朋友 xff08 64 djkaguya xff09 出于某些原因需要将他此型号的备用机解bl锁来迁移服务 xff0c 此篇文章用来记述他在折腾过程中总结出的注意事项 整体流程 1 华
  • qt 修改背景颜色 的几种方法

    按钮方式切换一种颜色 span class token keyword void span MainWindow span class token operator span span class token operator span s
  • 什么是底层驱动程序

    底层驱动是程序以访问底层硬件的形式实现人机交互 xff0c 驱动程序和应用程序之间需要实现相应的信息交互 xff0c 一方面 xff0c 应用程序通过对驱动程序发送相应的指令 xff0c 实现 硬件控制的动作指令 xff0c 另一 方面 x
  • Spring Security 401 问题解决

    背景 xff1a 微服务接口调用的时候报错 xff0c 原来有一个rest服务用的不多 xff0c 平时用的都是一些基础的服务 xff0c 然后客户需要我们开放一个外部接口给他们 xff0c 然后我寻思着就在这里面写接口 然后调用的时候就报
  • ubuntu源不可用

    如果使用ubuntu系统时 xff0c 发现之前的源不可用 xff0c 使用命令 sudo gedit span class token operator span etc span class token operator span ap
  • keras UpSampling2D/3D

    UpSampling2D 看tf文档中的解析 xff1a tf keras layers UpSampling2D xff1a Upsampling layer for 2D inputs 在一个2D输入中进行上采样操作 xff0c 其实就
  • C#winform实现窗口及窗口内容自动缩放(代码已封装)

    c 窗体实现等比例缩小放大 代码如下 原出处为某问答中看到的 摘录下来 以免遗忘 原文地址已附上 如有侵权请联系我 本文仅供学习交流 按我个人理解 setControl函数应当使用多线程加速 本人只是新手 就不画蛇添足了 欢迎各位大佬补正
  • 在移植boa服务器的过程中出现boa:not found问题以及移植cgic库编译时出现arm-linux-gcc-g命令未找到错误

    1 嵌入式web服务器移植的过程在网上很多资源的 xff0c 我在这就不再赘述了 xff0c 我就简单说下一个对于新手来说很头疼的问题 xff01 xff01 移植boa服务器的时候 xff0c 所有的编译工作以及移植工作全部做完了 xff
  • 详解JavaScript异步与回调

    一 前言 在学习本文内容之前 xff0c 我们必须要先了解异步的概念 xff0c 首先要强调的是异步和并行有着本质的区别 并行 xff0c 一般指并行计算 xff0c 是说同一时刻有多条指令同时被执行 xff0c 这些指令可能执行于同一CP
  • Linux上VNC 启动和关闭 ( 解决 Ubuntu16.04 sncserver连接出现Timed out waiting for a response from the computer)

    原文 https blog csdn net russle article details 4757888 整体思路 xff1a 查看vncserver端口 是否开启 xff08 手动kill vncserver进程有坑 xff0c 有时再
  • Ubuntu各个版本下载

    官网 xff1a https www ubuntu com download desktop 没找到历史版本 xff0c 且下载速度很慢 在网易镜像站下载ubuntu xff1a 网址 xff1a http mirrors 163 com
  • C++ vector 内存分配与回收机制

    最近开始更加深入的学习C 43 43 xff0c 发现了很多以前没注意到但是很重要的知识点 这篇文章主要说vector内存机制和效率问题 1 vector内存增长 vector所有的内存相关问题都可以归结于它的内存增长策略 vector有一
  • [简约webAPI]php连接MSsql server的五种方法总结

    参考了下php官方手册总结了五种PHP连接MSsql server的方法 mssql 系列函数 sqlsrv 系列函数 odbc方式连接sqlserver PDO方式连接sqlserver COM方式连接 参考php手册 xff0c 对ph