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连接多数据库就是这样了,有什么不对的地方望大神指出。