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 相关文章推荐
如何删除多级目录
Oct 09 PHP
php一些公用函数的集合
Mar 27 PHP
php实现邮件发送并带有附件
Jan 24 PHP
PHP include任意文件或URL介绍
Apr 29 PHP
PHP生成短网址的3种方法代码实例
Jul 08 PHP
CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
Jul 18 PHP
PHP实现自动对图片进行滚动显示的方法
Mar 12 PHP
PHP连接access数据库
Mar 27 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
Nov 05 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
Oct 16 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
Nov 24 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
Mar 26 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设计模式 DAO(数据访问对象模式)
2011/06/26 PHP
destoon数据库表说明汇总
2014/07/15 PHP
PHP图像处理类库及演示分享
2015/05/17 PHP
php中关于socket的系列函数总结
2015/05/18 PHP
在WordPress中实现发送http请求的相关函数解析
2015/12/29 PHP
再谈ie和firefox下的document.all属性
2009/10/21 Javascript
js中单引号与双引号冲突问题解决方法
2013/10/04 Javascript
js 3种归并操作的实例代码
2013/10/30 Javascript
jquery ajax请求方式与提示用户正在处理请稍等
2014/09/01 Javascript
javascript几个易错点记录
2014/11/26 Javascript
Easyui 之 Treegrid 笔记
2016/04/29 Javascript
用vue的双向绑定简单实现一个todo-list的示例代码
2017/08/03 Javascript
jQuery中extend函数简单用法示例
2017/10/11 jQuery
深入浅出webpack之externals的使用
2017/12/04 Javascript
Node.js log4js日志管理详解
2018/07/31 Javascript
解决vue中修改export default中脚本报一大堆错的问题
2018/08/27 Javascript
js根据后缀判断文件文件类型的代码
2020/05/09 Javascript
[48:48]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Dream TIME
2014/05/21 DOTA
python实现简单温度转换的方法
2015/03/13 Python
Python数组遍历的简单实现方法小结
2016/04/27 Python
Python使用回溯法子集树模板获取最长公共子序列(LCS)的方法
2017/09/08 Python
基于numpy中数组元素的切片复制方法
2018/11/15 Python
Python设计模式之抽象工厂模式原理与用法详解
2019/01/15 Python
python实现京东订单推送到测试环境,提供便利操作示例
2019/08/09 Python
Mac 使用python3的matplot画图不显示的解决
2019/11/23 Python
python 实现方阵的对角线遍历示例
2019/11/29 Python
荷兰和比利时时尚鞋店:Van Dalen
2018/04/23 全球购物
80年代复古T恤:TruffleShuffle
2018/07/02 全球购物
车队司机自我鉴定
2014/03/02 职场文书
C++程序员求职信范文
2014/04/14 职场文书
大学生求职信范文
2014/05/24 职场文书
2014年入党积极分子学习三中全会思想汇报
2014/09/13 职场文书
影视后期实训报告
2014/11/05 职场文书
2015年乡镇统计工作总结
2015/04/22 职场文书
Nginx已编译的nginx-添加新模块
2021/04/01 Servers
js中Object.create实例用法详解
2021/10/05 Javascript