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与XML联手进行网站编程代码实例
Jul 10 PHP
学习使用curl采集curl使用方法
Jan 11 PHP
浅析php中如何在有限的内存中读取大文件
Jul 02 PHP
Yii学习总结之安装配置
Feb 22 PHP
PHP 500报错的快速解决方法
Dec 14 PHP
替换php字符串中的单引号为双引号的方法
Feb 16 PHP
php可变长参数处理函数详解
Feb 22 PHP
PHP写的简单数字验证码实例
May 23 PHP
PHP 获取 ping 时间的实现方法
Sep 29 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
Nov 10 PHP
Laravel框架FormRequest中重写错误处理的方法
Feb 18 PHP
PHP基于swoole多进程操作示例
Aug 12 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除数取整示例
2014/04/24 PHP
php使用curl获取https请求的方法
2015/02/11 PHP
php导出生成word的方法
2015/12/25 PHP
php脚本守护进程原理与实现方法详解
2017/07/20 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
2007/03/10 Javascript
JQuery 实现的页面滚动时浮动窗口控件
2009/07/10 Javascript
jQuery Clone Bug解决代码
2010/12/22 Javascript
JS小功能(onmouseover实现选择月份)实例代码
2013/11/28 Javascript
javascript中实现兼容JAVA的hashCode算法代码分享
2020/08/11 Javascript
浅谈html转义及防止javascript注入攻击的方法
2016/12/04 Javascript
使用jsonp实现跨域获取数据实例讲解
2016/12/25 Javascript
vue组件中点击按钮后修改输入框的状态实例代码
2017/04/14 Javascript
vue.js如何更改默认端口号8080为指定端口的方法
2017/07/14 Javascript
Vue 2.0学习笔记之使用$refs访问Vue中的DOM
2017/12/19 Javascript
Vue编程式跳转的实例代码详解
2019/07/10 Javascript
js实现图片无缝循环轮播
2019/10/28 Javascript
详解如何使用React Hooks请求数据并渲染
2020/10/18 Javascript
JS实现简单贪吃蛇小游戏
2020/10/28 Javascript
用Python写的图片蜘蛛人代码
2012/08/27 Python
Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法
2016/07/01 Python
Python使用tkinter库实现文本显示用户输入功能示例
2018/05/30 Python
解决Python二维数组赋值问题
2019/11/28 Python
tensorflow之自定义神经网络层实例
2020/02/07 Python
在tensorflow以及keras安装目录查询操作(windows下)
2020/06/19 Python
基于python实现音乐播放器代码实例
2020/07/01 Python
python读取xml文件方法解析
2020/08/04 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
2020/08/19 Python
css3 按钮 利用css3实现超酷下载按钮
2013/03/18 HTML / CSS
EGO Shoes美国/加拿大:英国时髦鞋类品牌
2018/08/04 全球购物
木马的传播途径主要有哪些
2016/04/08 面试题
玩具公司的创业计划书
2013/12/31 职场文书
道德模范事迹材料
2014/12/20 职场文书
小班下学期个人总结
2015/02/12 职场文书
总账会计岗位职责
2015/04/02 职场文书
幼儿园小班工作总结2015
2015/04/25 职场文书