PHP7使用ODBC连接SQL Server2008 R2数据库示例【基于thinkPHP5.1框架】

本文实例讲述了PHP7使用ODBC连接SQL Server2008 R2数据库。分享给大家供大家参考,具体如下:

我用的是:WampServer集成工具,PHP版本为7.0.29,数据库为SQL Server 2008 R2;

注意:在连接数据库时,需要进入X:\wamp\bin\apache\apache2.4.33\bin目录下的PHP配置文件:PHP.ini。进入里面修改相关配置。配置如下:

extension=php_odbc.dll

把前面冒号去掉开启服务 并且 重启下WampServer 所有服务。(重启Apache也行)

我是利用thinkPHP5.1框架来配置的。

在控制器中创建一个Test.class.php

代码如下:

use think\Controller;
class Test extends Controller
{
    public function zz(){
      $servername='DRIVER={SQL Server};SERVER=localhost;DATABASE=mysql';
      $username = 'sa';
      $password = '123456';
      $conn = odbc_connect($servername,$username,$password);
      $sql = "SELECT * FROM myLLP";
      $exec=odbc_exec($conn,$sql);
      while($row =odbc_fetch_array($exec)){
        $List[]=$row;
      }
      echo json_encode($List);
      exit;
    }
}

其中数据库名字为:mysql   。

最终效果主要是显示了数据库mysql里面的表myLLP的数据,以键值对的形式在页面上显示。

通过访问url地址,入口文件+模块 +控制器+方法

页面路径为:http://localhost:81/tp5/public/index/test/zz

页面输出为:

[{"name":"LLP","password":"123","id":"1"},{"name":"BB","password":"123","id":"2"}]

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

时间: 2019-05-04

thinkphp3查询mssql数据库乱码解决方法分享

thinkphp查询mssql数据库出现乱码的原因是ThinkPHP默认为UTF-8,而msmsql数据库是简体中文版,存储的是GB2312编码 解决方法: 1:在ThinkPHP\Lib\Core 打开Db.class.php,在其最后面加上2:在Db.class.php找到function select(),在$result = $this->query($sql);后面加一条 $result=iconv2utf8($result),就OK了 复制代码 代码如下: public functi

Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法

对比下面两个脚本的速度: Windows 7 用 localhost 连接本地 MySQL,速度会很慢. Windows 7 用 127.0.0.1 连接本地 MySQL,速度则是正常的. my.ini里配置了 bind-address=127.0.0.1 用localhost连接本地MySQL: 速度慢 <?php $start = microtime(true); $mysqli = new mysqli('127.0.0.1', 'root', '', 'mysql'); //连接耗时仅为

PHP 5.6.11 访问SQL Server2008R2的几种情况详解

PHP天生支持MySQL,但是有时候也想让它访问SQL Server,该怎么办呢? 最近找了点资料,测试成功了PHP访问SQLSvr的几种情况,限于时间,还没有测试更多不同环境,把测试过的记录如下: 测试环境:win7 x64 sp1,IIS 7.5, Apache 2.4 32位版本,PHP 5.2.6 win32, PHP 5.6.11 win32 ts(线程安全版) 注:由于"Microsoft Drivers for PHP for SQL Server"驱动程序目前只有32位

Linux编译mssql扩展使用php连接sqlserver2008的使用步骤

1.安装配置freetds 复制代码 代码如下: wget http://mirrors.xmu.edu.cn/ubuntu/archive/pool/main/f/freetds/freetds_0.82.orig.tar.gztar zxf freetds_0.82.orig.tar.gzcd freetds_0.82./configure --prefix=/sxmobi/Software/common/freetds --enable-msdblibmake && make ins

Windows平台实现PHP连接SQL Server2008的方法

本文实例讲述了Windows平台实现PHP连接SQL Server2008的方法.分享给大家供大家参考,具体如下: 如果你需要和sql server通信需要到http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx自行下载微软提供的The SQL Server Driver for PHP.这是一个自解压文件,解压后会得到以下几个文件: php_sqlsrv_52_nts_vc6.dll php_sqlsrv_52_ts_vc6.dll ph

php5.3中连接sqlserver2000的两种方法(com与ODBC)

1.Com链接,ADODB.Connection 复制代码 代码如下: $conn = new Com("ADODB.Connection"); //实例化一个Connection对象 $connstr = "provider=sqloledb;datasource=.;uid=sa;pwd=123456;database=jnold;"; $conn->Open($connstr); $rs = new Com("ADODB.Recordset&q

用php和MySql来与ODBC数据连接

ODBC 是指开放数据连接,它是微软主导的数据驱动程序,它可以与其它数据连接,通过SQL语言来对数据进行操作的,当然PHP也提供了对ODBC数据连接的函数, 用PHP与ODBC连接主要通过几个函数来完成的,    首先先来认识几个与ODBC接口的函数: int odbc_connect(string dsn, string user, string password, int [cursor_type]);是连接至ODBC数据库 dsn ,user,password 是对应着ODBC里的内容,c

ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法

问题代码如下: <?php class IndexAction extends Action{ public function index(){ /* $Model = new Model(); $test = $Model->query('select top 10 * from f_city'); dump($test); */ $CityModel = M('city'); $CityModel->find(); dump($CityModel); } } ?> 出现的情况是

PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】

本文实例讲述了PHP连接SQL Server的方法.分享给大家供大家参考,具体如下: 之前我们实现了用thinkPHP5.1框架搭配的项目,实现了thinkPHP5.1与本机sql server 2008 R2的连接,并且把数据内容显示在页面上. 本机的使用工具:1.编译工具PhpStorm 2.WampServer 集成工具(Apache 2.4.33:PHP 7.0.29) 在连接过程中,有两种方法可以连接. 第一种(用到ThinkPHP框架的,配置微软自带的驱动): 先把tp5的项目放在w

Windows系统下Java连接SQL Server的方法简介

使用JDBC连接SQL Server 设置SQL Server服务器 我使用的是SQL Server 2005标准版SP2,这些都默认即可,一般不用配置.如果需要配置端口请看下面. 1."开始"→"程序"→"Microsoft SQL Server 2005"→"配置工具"→"SQL Server 配置管理器"→"SQL Server 2005 网络配置"→"MSSQLSERV

在登录触发器错误情况下连接SQL Server的方法

错误如图所示: 图一 如果不能很好地执行登录触发器,那么将会导致登录失败. 例如,如果创建了这个触发器,那么就可以设计下面的代码来达到失败的目的. 复制代码 代码如下: CREATE TRIGGER BadLogonTrigger ON ALL SERVER FOR LOGON AS BEGIN INSERT INTO BadDB.dbo.SomeTable VALUES ('Test'); END; GO 没有一个数据库称为BadDB,这意味着在BadDB内也没有一张表叫SomeTable.因

laravel5使用freetds连接sql server的方法

相关版本 系统ubuntu 16.04, 使用的PHP版本是7.0.30, sqlserver 2012, freetds为0.92 Laravel5.5和5.4都测试过了 什么是FreeTDS  简单的说FreeTDS是一个程序库,可以实现在Linux系统下访问微软的SQL数据库! FreeTDS 是一个开源的程序库,是TDS(表列数据流 )协议的再次实现.它可以被用在Sybase的db-lib或者ct-lib库.它也包含一个ODBC的库.允许许多开源的应用软件比如Perl和PHP(或者你自己

jdbc连接sql server数据库问题分析

SQL Server连接中问题还真多.不进行设置还真连接不上,这里小记一下!(部分资料来源于互联网) JDBC连接MySQL出现的问题 (例子里面自带JDBC2005的驱动,在lib文件夹下,右键点击Build Path--->add to build build path 即可) 运行connectionSqlServer2005包下的JavaConnectionSQL类即可! 1. 驱动问题: JDBC2005与JDBC2008一定要对号入座,否则会报错!(本人用的是2008) 2. 服务启

Win7 安装软件时无法连接sql server解决方法

安装软件的时候默认访问sql server账号是sa,Management Studio Express默认是使用Windows身份验证登陆的,在系统默认实例Security的Login目录下找到了sa账户,查了下,原来是SQL server的默认管理员账户,而且据说还出现过好多安全漏洞.既然只是本地使用,也不必考虑那么多,能用就成. 用管理员权限打开Management Studio Express,这个时候不能使用sql账号登陆,用Windows身份验证登陆后,在实例下右键点击SQL服务器名

php如何连接sql server

说明: 1:PHP5.2.x本身有个php_mssql.dll的扩展用来连接Sql server,但是这个dll只是用来连接低版本 Sql server的(2000以下版本),在Sql server 2005及以上版本无法使用mssql_connect连接到数据库. 2:php5.3.x不再支持php_mssql.dll 拓展库了,及时使用php5.2.x中的php_mssql.dll也无法使用. 微软专门为PHP出了个SQL Server的扩展(Windows版本的),对于Windows下使用

Python基于Pymssql模块实现连接SQL Server数据库的方法详解

本文实例讲述了Python基于Pymssql模块实现连接SQL Server数据库的方法.分享给大家供大家参考,具体如下: 数据库版本:SQL Server 2012. 按照Python版本来选择下载pymssql模块,这样才能连接上sql server. 我安装的python版本是3.5 ,64位的,所以下载的pymssql模块是:pymssql-2.1.3-cp35-cp35m-win_amd64.whl 我把文件下载后放到E盘,安装pymssql模块: C:\Users\Administr

C#实现异步连接Sql Server数据库的方法

本文实例讲述了C#实现异步连接Sql Server数据库的方法.分享给大家供大家参考.具体分析如下: .net最新版提供了await方法,可以使我们可以很容易实现到数据库的异步连接 复制代码 代码如下: readonly string ConnectionString = "Data Source=database_server_name;Initial Catalog=Store;Integrated Security=True"; protected async void Exec

远程连接局域网内的SQL Server 的方法

第一个错误"SQL Server 不存在或访问被拒绝"通常是最复杂的,错误发生的原因比较多,需要检查的方面也比较多.一般说来,有以下几种可能性: 1.SQL Server名称或IP地址拼写有误; 2.服务器端网络配置有误; 3.客户端网络配置有误. 要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因. 首先,检查网络物理连接: ping <服务器IP地址> 或者 ping <服务器名称> 如果 ping <服务器IP地址> 失败,说明