搜索
系统检测到您的用户名不符合规范:

tp5连接SQLServer数据库及多个数据库切换

浏览:13423 发布日期:2018年04月20日 分类:技术分享 关键字: thinkphp5 数据库连接 数据库切换
废话不说,直接上代码:

==================== 连接SQLServer ===========================

1、确保你的PHP有 php_sqlsrv 和 php_pdo_sqlsrv 扩展。
我用的是phpStudy,PHP版本是 5.5.38,所以我下载的扩展是 php_sqlsrv_55_nts.dll 和 php_pdo_sqlsrv_55_nts.dll ,将扩展放到 php/ext文件夹下面。

2、开启(加入) php_sqlsrv 和 php_pdo_sqlsrv 扩展
找到php.in文件并打开,将 ;extension=php_sqlsrv_55_nts.dll 和 ;extension=php_pdo_sqlsrv_55_nts.dll 前面的分号去掉, 有的朋友可能没有找到这两项,那么直接加上 extension=php_sqlsrv_55_nts.dll 和 extension=php_pdo_sqlsrv_55_nts.dll 即可,最后,重启phpstydy。

3、配置你的database.php文件 (下面是我的配置,没有贴出来的都是一样的)
// 数据库类型
'type' => 'sqlsrv',
// 服务器地址
'hostname' => '127.0.0.1',
// 数据库名
'database' => 'QPTreasureDB',
// 用户名
'username' => '你的用户名',
// 密码
'password' => '你的密码',
// 端口
'hostport' => '1433',
4、配置好之后就可以使用了(数据库操作与mysql的数据库操作是一样的),但是这里有一个坑,SQLServer数据库大写是可以用的,但是用tp5数据库的方法时,大写会被自动转化为下划线+小写字母(比如 MyName 会被转化为 My_name),这里我百度了,还没有找到合适的方法解决,暂时使用原生查询(query 和 execute)来写的。


==================== SQLServer多库切换(这个是在博客上看到的,亲试有用,分享给大家) ===========================

1、首先要连接上你的SQLServer;

2、将你配置好的database.php 文件复制一份,命名为 database2.php,并写入第二个数据库的配置;

3、在你的config.php文件中先引入 database2.php 文件(代码: $db_con2 = require_once('database2.php'); ),并在最后加上 'db_con2' => $db_con2,

4、控制器里面就可以使用了
如:
$db = Db::connect('db_con2');
$db->query('select * from user');

(PS :附件里面是PHP的扩展,n2里面是php5的,n1里面是php7的,大家根据需要选择)
+++++++++++++++++ the end ++++++++++++++++++++


附件 扩展.rar ( 556.61 KB 下载:351 次 )

最佳答案
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
考拉进阶
积分:2587 等级:LV3
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /