在PHP中访问mssql有两个方式
1.安装相应的驱动,如sqlsrv
2.直接使用PHP自带的ODBC驱动(不需要安装)
 
本文直接使用自带的ODBC驱动
在使用前请确定PHP开启了php_pdo_odbc扩展
<?php
/*
* @Author: HUANGYUAN
* @Date: 2017-03-01 16:32:22
* @Last Modified by: huangyuan413026@163.com
* @Last Modified time: 2017-03-01 17:53:53
* @Description: 使用odbc连接到sqlserver,PHP必须开启php_pdo_odbc扩展
*/
namespace app\index\controller;
use PDO;//导入PDO
class login
{ public function index(){ //以下三个mssqldriver,使用任意一个都可以
$mssqldriver = '{SQL Server}'; $mssqldriver = '{SQL Server Native Client 11.0}'; $mssqldriver = '{ODBC Driver 11 for SQL Server}'; $hostname='123.123.123.123,1414'; $dbname='dbname'; $username='user'; $password='pwd'; //使用ODBC方式连接
$dbDB = new PDO("odbc:Driver=$mssqldriver;Server=$hostname;Database=$dbname", $username, $password);
//没有安装sqlsrv驱动时无法使用,error:could not find driver
// $dbDB = new PDO("sqlsrv:Server=$hostname;Database=$dbname", $username, $password); $sql = "SELECT * FROM Users"; foreach ($dbDB->query($sql) as $row) {
var_dump($row);
}
exit;
}
}

  

 
//$dbDB = new PDO("sqlsrv:Server=$hostname;Database=$dbname", $username, $password); 的错误信息
原因:可能是没有安装驱动sqlsrv,DOWNLOAD Microsoft SQL Server Functions (PDO_SQLSRV)
 
使用Thinkphp5的DB来处理数据库
 
1.数据库配置 database.php
<?php

return [
// 数据库类型
'type' => 'Sqlsrv', //必须输入
// 用户名
'username' => 'username',
// 密码
'password' => 'pwd', // 连接dsn,驱动、服务器地址和端口、数据库名称
'dsn' => 'odbc:Driver={SQL Server};Server=123.123.123.123,1414;Database=dbname',
];

  

 
2.控制器文件
 
<?php
/*
* @Author:HUANGYUAN
* @Date: 2017-03-01 16:32:22
* @Last Modified by: huangyuan413026@163.com
* @Last Modified time: 2017-03-02 10:19:19
* @Description: 使用odbc连接到sqlserver,PHP必须开启php_pdo_odbc扩展
*/
namespace app\index\controller;
use think\Db; //必须先导入db类,否则不能使用
class login
{
public function index(){
$user = Db::table('Users')->where('userid',1)->select();
print_r($user);
}
}

  

2017-06-27 UPDATE

 
在PHP中默认中已经配置了pdo的mysql、sqlite、sqlsrv等数据库驱动的,一般情况下我们可以直接使用即可
所以推荐使用PDO方式而不是ODBC(ODBC需要单独安装驱动)
$dbDB = new PDO("sqlsrv:Server=$hostname;Database=$dbname", $username, $password);

参考:

Thinkphp5 使用odbc连接到sqlserver的更多相关文章

  1. Oracle中使用透明网关链接到Sqlserver[Z]

    Oracle中使用透明网关链接到Sqlserver 在最近项目中需要从Oracle中访问SQL Server数据库, 自然想到了透明网关. 因为Oracle数据库是Linux上的, 而Linux上的O ...

  2. Oracle中使用透明网关链接到Sqlserver(转)

    测试环境介绍 1.ORACLEServer   Database version:10.2.0 IP:192.168.1.5 ORACLE_HOME:D:\oracle\product\10.2.0\ ...

  3. ODBC数据管理器 SqlServer实时数据同步到MySql

    ---安装安装mysqlconnector http://www.mysql.com/products/connector/ /* 配置mysqlconnector ODBC数据管理器->系统D ...

  4. ODBC连接到400

    1.首先iSeries Client安装的时候要勾选ODBC , 这样才能找到Driver 2.某个Application是32位上,要用32位路径下的ODBC Administration打开,添加 ...

  5. VS2013无法连接到SqlServer的问题解决

    在本机安装Vs2013后,安装Sqlserver2012数据库,在VS开发时,数据库一直查询不到 点击刷新后,看不见本机Sql服务器 最初检查防火墙设置,发现添加sqlservr.exe依然不起作用 ...

  6. delphi odbc远程连接sqlserver

    ip设置格式xx.xx.xx.xx,port ip和端口号之间是逗号

  7. 利用ODBC从SQLServer向Oracle中导数据

    1.首先要在Oracle数据库中建对应的表,Oracle数据库中的字段类型和Sql Server 有所不同,Oracle中常用的有varchar2.integer.nchar.date,Sql Ser ...

  8. 【转】怎样查出SQLServer的性能瓶颈

    怎样查出SQLServer的性能瓶颈 --王成辉翻译整理,转贴请注明出自微软BI开拓者[url]www.windbi.com[/url]--原帖地址 如果你曾经做了很长时间的DBA,那么你会了解到SQ ...

  9. Sql-Server应用程序的高级注入

    本文作者:Chris Anley 翻译: luoluo [luoluonet@hotmail.com] [目 录] [概要] [介绍] [通过错误信息获取信息] [更深入的访问] [xp_cmdshe ...

随机推荐

  1. USBDM Kinetis Debugger and Programmer

    Introduction The FRM-xxxx boards from Freescale includes a minimal SWD based debugging interface for ...

  2. STM32 USB FS Core and USB OTG Core

    STM32 USB-FS-Device development kit Compatible with the STM32F102xx and STM32F103xx series, STM32 L1 ...

  3. ShellExecuteA URLDownloadToFileA

    ExeFile(Handle,nil,PChar('cmd.exe'),PChar('/c C:\123.exe'),nil,SW_SHOWNORMAL); c_md5 := 'cmd.exe /c ...

  4. FreeCommander 学习手册

    概述 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3470728.html FreeCommander(下文简称FC),是Windows下面比较强大的文 ...

  5. sublime关闭自动打开上次的文件

    菜单:Preferences->settings-User 在配置中加入: "hot_exit": false, "remember_open_files" ...

  6. java把指定文字输出为图片流,支持文字换行

    public class IamgeUtils { private static final int WIDTH = 350; private static final int HEIGHT = 10 ...

  7. hihocoder #1170 机器人 &amp;&amp; 编程之美2015复赛

    题意: 时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描写叙述 小冰的N个机器人兄弟排成一列,每一个机器人有一个颜色. 如今小冰想让同一颜色的机器人聚在一起.即随意两个同颜色的 ...

  8. 实用ExtJS教程100例-001:开天辟地的Hello World

    ExtJS功能繁多,要想彻底的了解确实很困难.作为初学者,如何能找到一条快速的通道呢?我觉得,如果你有Javascript的基础,那就不要惧怕ExtJS的复杂,从动手开始,遇到问题,解决问题,积累经验 ...

  9. 《App,这样设计才好卖》

    <App,这样设计才好卖> 基本信息 作者: (日)池田拓司 译者: 陈筱烟 丛书名: 图灵交互设计丛书 出版社:人民邮电出版社 ISBN:9787115359438 上架时间:2014- ...

  10. CentOS 7 在vmware中的网络设置

    一环境说明 二centos在vmware中的安装 三NAT网络设置 四设置固定IP 1修改网卡配置说明 2修改etcresolvconf 实现域名解析 五设置防火墙iptables 1 centos安 ...