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


Posted in PHP onMay 06, 2019

本文实例讲述了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的项目放在wamp目录下的www里面

利用微软提供的PHP与SQL Server 驱动包

地址:https://www.microsoft.com/en-us/download/details.aspx?id=20098

下载:SQLSRV40.EXE(根据PHP对应的版本下载对应的驱动)

下载完成解压后选择相对应的PHP版本信息,如:本机的PHP是 7.0.29版本,线程安全,64位。

选择以下文件:

php_pdo_sqlsrv_7_ts_x64.dll

php_sqlsrv_7_ts_x64.dll

将其

放置

X:\wamp\bin\php\php7.0.29\ext

然后进入Apache修改php.in配置文件

X:\wamp\bin\apache\apache2.4.33\bin

在extension=php_gd2.dll和extension=php_gettext.dll之间添加

extension=php_gd2.dll
extension=php_sqlsrv_7_ts_x86.dll
extension=php_pdo_sqlsrv_7_ts_x86.dll
extension=php_gettext.dll

之后重启Apache服务器。

用PhpStorm打开tp5项目,在index模版下创建一个config文件再创建database.php配置数据库,可以参考app应用目录下的database.php格式,将其复制在index下config的database.php,一般修改数据库类型,数据库,用户名,密码。

接着在controller控制器下建立一个test.class.php文件,代码如下

<?php
namespace app\index\controller;
use think\Db;
use think\Controller;
class Test extends Controller
{
public function zz(){
$data= Db::query('SELECT top 100 * FROM V_XZ_SPZD_KC');
var_dump($data);
}
}

最后调用入口文件即可访问。

http://localhost:81/1111/tp5/public/index/test/zz

这种方法也可以用pdo_odbc方法连接sqlserver(配合thinkPHP框架)

第二种(不用到ThinkPHP框架):

*(上面的微软驱动数据库的方法,不用thinkPHP也是可以连接的)

用PDO_odbc来连接SQL Server 数据库:

进入Apache修改php.in配置文件

X:\wamp\bin\apache\apache2.4.33\bin
extension=php_pdo_odbc.dll前面的冒号去掉,开启这个服务,重启Apache服务器。

在www目录下创建一个test.php文件

代码如下:

<?php
header("Content-type: text/html; charset=gbk");//使页面不会乱码
$hostname='192.168.1.215';
$dbname='ZD';
$username='Reader';
$password='TestReader';
//使用PDO_ODBC方式连接
$dbDB = new PDO("odbc:Driver={SQL Server};Server=$hostname;Database=$dbname", $username, $password);
$sql = "SELECT top 100 * FROM V_DY_SPZD";
foreach ($dbDB->query($sql) as $row) {
var_dump($row);
//print_r($row);
}
exit;

最后调用入口文件即可访问。

http://localhost:81/test.php即可访问

这些方法要注意的是:需要了解thinkPHP5.1的DB类的使用语句。根据不同的项目要求可以组建不同的连接方法。

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

PHP 相关文章推荐
PHP输出控制功能在简繁体转换中的应用
Oct 09 PHP
PHP 危险函数全解析
Sep 09 PHP
php 中英文语言转换类代码
Aug 11 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
Jul 04 PHP
php防止sql注入之过滤分页参数实例
Nov 03 PHP
php 使用array函数实现分页
Feb 13 PHP
php使用cookie实现记住用户名和密码实现代码
Apr 27 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
Oct 23 PHP
PHP读取PPT文件的方法
Dec 10 PHP
变量在 PHP7 内部的实现(一)
Dec 21 PHP
你不知道的文件上传漏洞php代码分析
Sep 29 PHP
解决php extension 加载顺序问题
Aug 16 PHP
php + WebUploader实现图片批量上传功能
May 06 #PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
May 06 #PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
May 06 #PHP
PHP实现八皇后算法
May 06 #PHP
Laravel中10个有用的用法小结
May 06 #PHP
Mac下快速搭建PHP开发环境步骤详解
May 05 #PHP
ThinkPHP3.2框架操作Redis的方法分析
May 05 #PHP
You might like
php 不同编码下的字符串长度区分
2009/09/26 PHP
国外PHP程序员的13个好习惯小结
2012/02/20 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(九)
2014/06/24 PHP
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
2016/03/23 PHP
thinkPHP中验证码的简单实现方法
2016/12/05 PHP
PHP中单例模式与工厂模式详解
2017/02/17 PHP
Jquery css函数用法(判断标签是否拥有某属性)
2011/05/28 Javascript
javascript中的变量作用域以及变量提升详细介绍
2013/10/24 Javascript
基于JQuery实现滚动到页面底端时自动加载更多信息
2014/01/31 Javascript
jQuery异步上传文件插件ajaxFileUpload详细介绍
2015/05/19 Javascript
jQuery中通过ajax的get()函数读取页面的方法
2016/02/29 Javascript
Javascript 实现计算器时间功能详解及实例(二)
2017/01/08 Javascript
微信小程序 setData使用方法及常用错误解决办法
2017/05/11 Javascript
vue移动端微信授权登录插件封装的实例
2018/08/28 Javascript
详解vuex之store拆分即多模块状态管理(modules)篇
2018/11/13 Javascript
Python contextlib模块使用示例
2015/02/18 Python
解决python matplotlib imshow无法显示的问题
2018/05/24 Python
python学习笔记--将python源文件打包成exe文件(pyinstaller)
2018/05/26 Python
Python实用技巧之利用元组代替字典并为元组元素命名
2018/07/11 Python
python读取和保存图片5种方法对比
2018/09/12 Python
django之跨表查询及添加记录的示例代码
2018/10/16 Python
详解python实现数据归一化处理的方式:(0,1)标准化
2019/07/17 Python
python 并发编程 阻塞IO模型原理解析
2019/08/20 Python
Python3 mmap内存映射文件示例解析
2020/03/23 Python
python入门:argparse浅析 nargs='+'作用
2020/07/12 Python
python3.7.3版本和django2.2.3版本是否可以兼容
2020/09/01 Python
HTML5 canvas基本绘图之图形组合
2016/06/27 HTML / CSS
Camper鞋西班牙官方网上商店:西班牙马略卡岛的鞋类品牌
2019/03/14 全球购物
周仰杰(JIMMY CHOO)法国官方网站:闻名世界的鞋子品牌
2019/09/27 全球购物
牧马人澳大利亚官网:Wrangler澳大利亚
2019/10/08 全球购物
Shell编程面试题
2012/05/30 面试题
毕业生求职的求职信
2013/12/05 职场文书
2014年乡镇领导个人整改措施
2014/09/19 职场文书
毕业生班级鉴定评语
2015/01/04 职场文书
文化大革命观后感
2015/06/17 职场文书
入党宣誓仪式主持词
2015/06/29 职场文书