tp5连接SQLServer数据库及多个数据库切换-靳宇灵

时间:2022-11-23 11:37:33

==================== 连接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的,大家根据需要选择)

​https://www.thinkphp.cn/topic/download/id/55934.html​

+++++++++++++++++ the end ++++++++++++++++++++