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中GET变量的使用
Oct 09 PHP
php+mysql实现无限级分类 | 树型显示分类关系
Nov 19 PHP
基于HTTP长连接的&quot;服务器推&quot;技术的php 简易聊天室
Oct 31 PHP
php的一些小问题
Jul 03 PHP
php数组函数序列之in_array() - 查找数组中是否存在指定值
Nov 07 PHP
浅析php中jsonp的跨域实例
Jun 21 PHP
php全角字符转换为半角函数
Feb 07 PHP
php socket客户端及服务器端应用实例
Jul 04 PHP
PHP中soap的用法实例
Oct 24 PHP
浅谈本地WAMP环境的搭建
May 13 PHP
PHP中strpos、strstr和stripos、stristr函数分析
Jun 11 PHP
PHP实现支付宝即时到账功能
Dec 21 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
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
2007/03/15 PHP
PHP 定界符 使用技巧
2009/06/14 PHP
PHP类的反射用法实例
2014/11/03 PHP
浅谈PHP封装CURL
2019/03/06 PHP
Thinkphp5框架ajax接口实现方法分析
2019/08/28 PHP
PHP Swoole异步读取、写入文件操作示例
2019/10/24 PHP
Javascript 面向对象 继承
2010/05/13 Javascript
高性能WEB开发 flush让页面分块,逐步呈现 flush让页面分块,逐步呈现
2010/06/19 Javascript
js验证模型自我实现的具体方法
2013/06/21 Javascript
用js正确判断用户名cookie是否存在的方法
2014/01/28 Javascript
jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码
2016/02/25 Javascript
AngularJS页面访问时出现页面闪烁问题的解决
2016/03/06 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
2016/12/21 Javascript
nodejs 子进程正确的打开方式
2017/07/03 NodeJs
阿里大于短信验证码node koa2的实现代码(最新)
2017/09/07 Javascript
p5.js 毕达哥拉斯树的实现代码
2018/03/23 Javascript
微信小程序下拉刷新PullDownRefresh的使用方法
2018/11/29 Javascript
jQuery实现判断滚动条滚动到document底部的方法分析
2019/08/27 jQuery
javascript实现拖拽碰撞检测
2020/03/12 Javascript
Vue实现boradcast和dispatch的示例
2020/11/13 Javascript
python正则匹配查询港澳通行证办理进度示例分享
2013/12/27 Python
Python操作MongoDB数据库PyMongo库使用方法
2015/04/27 Python
python+selenium实现163邮箱自动登陆的方法
2017/12/31 Python
基于Django静态资源部署404的解决方法
2019/07/28 Python
PageFactory设计模式基于python实现
2020/04/14 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
2020/09/03 Python
HTML5 video播放器全屏(fullScreen)方法实例
2015/04/24 HTML / CSS
开普敦通行证:Cape Town Pass
2019/07/18 全球购物
Servlet如何得到客户端机器的信息
2014/10/17 面试题
《放飞蜻蜓》教学反思
2014/04/27 职场文书
天地会口号
2014/06/17 职场文书
云南省召开党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
2015年采购工作总结
2015/04/10 职场文书
2016学习雷锋精神活动倡议书
2015/04/27 职场文书
导游词之青城山景区
2019/09/27 职场文书
Pandas 稀疏数据结构的实现
2021/07/25 Python