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 相关文章推荐
关于使用key/value数据库redis和TTSERVER的心得体会
Jun 28 PHP
PHP-Fcgi下PHP的执行时间设置方法
Aug 02 PHP
php字符比较函数similar_text、strnatcmp与strcasecmp用法分析
Nov 18 PHP
php遍历目录方法小结
Mar 10 PHP
PHP滚动日志的代码实现
Jun 10 PHP
[原创]PHP简单开启curl的方法(测试可行)
Jan 11 PHP
ThinkPHP项目分组配置方法分析
Mar 23 PHP
Yii2 rbac权限控制之菜单menu实例教程
Apr 28 PHP
Smarty变量用法详解
May 11 PHP
基于win2003虚拟机中apache服务器的访问
Aug 01 PHP
thinkphp5 URL和路由的功能详解与实例
Dec 26 PHP
php菜单/评论数据递归分级算法的实现方法
Aug 01 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 获取本地IP代码
2013/06/23 PHP
php使用simplexml_load_file加载XML文件并显示XML的方法
2015/03/19 PHP
PHP面向对象程序设计之类与反射API详解
2016/12/02 PHP
PHP实现找出链表中环的入口节点
2018/01/16 PHP
php 中的信号处理操作实例详解
2020/03/04 PHP
php实现图片压缩处理
2020/09/09 PHP
基于php解决json_encode中文UNICODE转码问题
2020/11/10 PHP
得到文本框选中的文字,动态插入文字的js代码
2007/03/07 Javascript
复制小说文本时出现的随机乱码的去除方法
2010/09/07 Javascript
js 通用javascript函数库整理
2011/08/14 Javascript
jquery利用ajax调用后台方法实例
2013/08/23 Javascript
浅谈javascript 迭代方法
2015/01/21 Javascript
jQuery实现Tab菜单滚动切换的方法
2015/09/21 Javascript
JavaScript实现时间倒计时跳转(推荐)
2016/06/28 Javascript
微信小程序  自定义创建详细介绍
2016/10/27 Javascript
解析ajaxFileUpload 异步上传文件简单使用
2016/12/30 Javascript
详谈js中标准for循环与foreach(for in)的区别
2017/11/02 Javascript
快速解决bootstrap下拉菜单无法隐藏的问题
2018/08/10 Javascript
详解angular部署到iis出现404解决方案
2018/08/14 Javascript
js删除数组中某几项的方法总结
2019/01/16 Javascript
JavaScript使用Math.random()生成简单的验证码
2019/01/21 Javascript
vue动态加载SVG文件并修改节点数据的操作代码
2020/08/17 Javascript
[36:45]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
2015/04/28 Python
Python内存管理方式和垃圾回收算法解析
2017/11/11 Python
python与sqlite3实现解密chrome cookie实例代码
2018/01/20 Python
Python无损音乐搜索引擎实现代码
2018/02/02 Python
python用户管理系统
2018/03/13 Python
pandas 条件搜索返回列表的方法
2018/10/30 Python
Django配置文件代码说明
2019/12/04 Python
win10下python2和python3共存问题解决方法
2019/12/23 Python
信息技术专业大学生个人的自我评价
2013/10/05 职场文书
领导调研接待方案
2014/02/27 职场文书
售后服务承诺书模板
2014/05/21 职场文书
白莲教口号
2014/06/18 职场文书
村道德模范事迹材料
2014/08/28 职场文书