thinkphp连接多数据库 数据库切换

thinkphp开发网站,碰到需要连接多个数据库数据,也就是tp手册里写的数据库切换,没有考虑使用分布式数据库。我们在配置文件中配置多个数据库连接字符串,然后用tp的M()方法调用就可以了。下面写出操作步骤:

1.在配置文件中config.php做如下添加或修改

    'DB_TYPE'                           =>  '',     // 数据库类型
    'DB_HOST'                           =>  '', // 服务器地址
    'DB_NAME'                           =>  '',          // 数据库名
    'DB_USER'                           =>  '',      // 用户名
    'DB_PWD'                            =>  '',          // 密码
    'DB_PORT'                           =>  '',        // 端口
    'DB_PREFIX'                         =>  '',    // 数据库表前缀
这是基本的数据库配置,每个程序都会有。 在此配置的基础上添加如下代码 DB_WAFFLE_CONFIG 数据库连接字符串名称,可以自定义修改

    'connection' => 'mysql://root:root@localhost:3306/dbname',

其中
connection  数据库连接字符串,后面代码会用到

root:root  数据库账号:数据库密码

localhost  数据库服务器地址,例如:192.168.1.11的ip地址

3306  数据库端口

dbname  需要连接的数据库名称

2.配置文件修改完之后,在代码中调用,用tp提供的M()方法:

$db2= M('db2','','connection');
$db2就是实例化的模型,可以进行$db2->select()等CURD操作,也可以$db2->query()

第一个参数是模型名称,如果db2没有找到,就会实例化一个空模型

第二个参数是前缀名

第三个参数是最关键的,也就是你在配置文件中配置的数据库连接字符串


thinkphp连接多数据库就是这样了,有什么不对的地方望大神指出。



你可能感兴趣的:(PHP)