tp5.1 读取【第二数据库】内容
1. 配置第二个数据库的相关信息,在config目录下面新建一个sishi.digital.php文件(文件名叫什么都可以),内容和database.php中内容一致。

1.1 内容如下
// +----------------------------------------------------------------------return [// 数据库类型'type' => 'mysql',// 服务器地址'hostname' => '127.0.0.1',// 数据库名'database' => 'digital',// 用户名'username' => 'root',// 密码'password' => 'root',// 端口'hostport' => '3306',// 连接dsn'dsn' => '',// 数据库连接参数'params' => [],// 数据库编码默认采用utf8'charset' => 'utf8',// 数据库表前缀'prefix' => '',// 数据库调试模式'debug' => true,// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)'deploy' => 0,// 数据库读写是否分离 主从式有效'rw_separate' => false,// 读写分离后 主服务器数量'master_num' => 1,// 指定从服务器序号'slave_no' => '',// 自动读取主库数据'read_master' => false,// 是否严格检查字段是否存在'fields_strict' => true,// 数据集返回类型'resultset_type' => 'array',// 自动写入时间戳字段'auto_timestamp' => false,// 时间字段取出后的默认时间格式'datetime_format' => 'Y-m-d H:i:s',// 是否需要进行SQL性能分析'sql_explain' => false,// Builder类'builder' => '',// Query类'query' => '\\think\\db\\Query',// 是否需要断线重连'break_reconnect' => false,// 断线标识字符串'break_match_str' => [],
];
2. 在方法中使用;需注意的是要引入Config
use think\facade\Config;
public function test(){ $config = Config('sishi_digital.'); //读取第二个数据库配置$connect = Db::connect($config); //连接数据库$connect->name('rice_img')->where('fid',$v['fid'])->find();}
3.有一点需要注意,在循环中,需要每一次都要冲i性能连接数据库,否则只能查出一条数据。
foreach ($result as $k=>$v){if (!empty($v['advise'])){/*获取分析建议*/if ($v['info_type']=='n'){$field=['n_img'=>'img'];}else{$field=['grow_img'=>'img'];}/*必须重新执行一遍才行*/$connect = Db::connect($config); //连接数据库$i=$connect->name('rice_img')->where('time',$v['time'])->where('fid',$v['fid'])->field($field)->find();}}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
