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使之能同时支持GIF和JPEG
Oct 09 PHP
如何隐藏你的.php文件
Jan 04 PHP
基于Zend的Config机制的应用分析
May 02 PHP
windows环境下php配置memcache的具体操作步骤
Jun 09 PHP
CI框架学习笔记(二) -入口文件index.php
Oct 27 PHP
php构造函数的继承方法
Feb 09 PHP
php使用标签替换的方式生成静态页面
May 21 PHP
PHP使用第三方即时获取物流动态实例详解
Apr 27 PHP
php简单实现单态设计模式的方法分析
Jul 28 PHP
对于Laravel 5.5核心架构的深入理解
Feb 22 PHP
php中字符串和整数比较的操作方法
Jun 06 PHP
PHP扩展安装方法步骤解析
Nov 24 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
在线短消息收发的程序,不用数据库
2006/10/09 PHP
PHP中文汉字验证码
2007/04/08 PHP
探讨PHP调用时间格式的参数详解
2013/06/06 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
2014/06/26 PHP
PHP的伪随机数与真随机数详解
2015/05/27 PHP
基于jQuery实现文本框只能输入数字(小数、整数)
2016/01/14 Javascript
javascript对象的相关操作小结
2016/05/16 Javascript
JavaScript关于提高网站性能的几点建议(一)
2016/07/24 Javascript
完美解决IE9浏览器出现的对象未定义问题
2016/09/29 Javascript
基于KO+BootStrap+MVC实现的分页控件代码分享
2016/11/07 Javascript
jQuery加载及解析XML文件的方法实例分析
2017/01/22 Javascript
原生Aajax 和jQuery Ajax 写法个人总结
2017/03/24 jQuery
vue draggable resizable 实现可拖拽缩放的组件功能
2019/07/15 Javascript
Vue 监听元素前后变化值实例
2020/07/29 Javascript
VUE UPLOAD 通过ACTION返回上传结果操作
2020/09/07 Javascript
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
[00:35]DOTA2上海特级锦标赛 Newbee战队宣传片
2016/03/03 DOTA
Python使用SQLite和Excel操作进行数据分析
2018/01/20 Python
Python基于更相减损术实现求解最大公约数的方法
2018/04/04 Python
Python基于SMTP协议实现发送邮件功能详解
2018/08/14 Python
python实现三维拟合的方法
2018/12/29 Python
Python3利用print输出带颜色的彩色字体示例代码
2019/04/08 Python
python super用法及原理详解
2020/01/20 Python
python实现人工蜂群算法
2020/09/18 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
2020/12/04 Python
多视角3D逼真HTML5水波动画
2016/03/03 HTML / CSS
Bootstrap File Input文件上传组件
2020/12/01 HTML / CSS
广州御银科技股份有限公司试卷(C++)
2016/11/04 面试题
解释下列WebService名词:WSDL、SOAP、UDDI
2012/06/22 面试题
2014年餐厅服务员工作总结
2014/11/18 职场文书
五年级学生期末评语
2014/12/26 职场文书
物业接待员岗位职责
2015/04/15 职场文书
《水浒传》读后感3篇(范文)
2019/09/19 职场文书
python的变量和简单数字类型详解
2021/09/15 Python
Javascript中Microtask和Macrotask鲜为人知的知识点
2022/04/02 Javascript
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python