💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 切换数据库 [上一页](61.html "上一页")[下一页](63.html "下一页") 如果你需要切换到另外一个数据库(包括在相同和不同的数据库类型之间切换)或者需要连接多个数据库进行操作不同的数据,就需要使用ThinkPHP提供的数据库切换方法,用法很简单, 只需要调用Model类的db方法,用法:`Model->db("数据库编号","数据库配置");`数据库编号用数字格式,对于已经调用过的数据库连接,是不需要再传入数据库连接信息的,系统会自动记录。对于默认的数据库连接,内部的数据库编号是0,因此为了避免冲突,请不要再次定义数据库编号为0的数据库配置。 数据库配置的定义方式和模型定义connection属性一样,支持数组、字符串以及调用配置参数三种格式。 Db方法调用后返回当前的模型实例,直接可以继续进行模型的其他操作,所以该方法可以在查询的过程中动态切换,例如:`$this->db(1,"mysql://root:123456@localhost:3306/test")->query("查询SQL");`该方法添加了一个编号为1的数据库连接,并自动切换到当前的数据库连接。 当第二次切换到相同的数据库的时候,就不需要传入数据库连接信息了,可以直接使用:`$this->db(1)->query("查询SQL");`如果需要切换到默认的数据库连接,只需要调用:`$this->db(0);`如果我们已经在项目配置中定义了其他的数据库连接信息,例如:`//数据库配置1<br class="calibre5"></br>'DB_CONFIG1' = array(<br class="calibre5"></br>    'db_type'  => 'mysql',<br class="calibre5"></br>    'db_user'  => 'root',<br class="calibre5"></br>    'db_pwd'   => '1234',<br class="calibre5"></br>    'db_host'  => 'localhost',<br class="calibre5"></br>    'db_port'  => '3306',<br class="calibre5"></br>    'db_name'  => 'thinkphp'<br class="calibre5"></br>),<br class="calibre5"></br>//数据库配置2<br class="calibre5"></br>'DB_CONFIG2' => 'mysql://root:1234@localhost:3306/thinkphp';`我们就可以直接在db方法中调用配置进行连接了:`$this->db(1,"DB_CONFIG1")->query("查询SQL");<br class="calibre5"></br>$this->db(2,"DB_CONFIG2")->query("查询SQL");`如果切换数据库之后,数据表和当前不一致的话,可以使用table方法指定要操作的数据表:`$this->db(1)->table("top_user")->find();`我们也可以直接用M方法切换数据库,例如:`M("User","think_","mysql://root:123456@localhost:3306/test")->query("查询SQL");`或者`M("User","think_","DB_CONFIG1")->query("查询SQL");` [上一页](61.html "上一页")[下一页](63.html "下一页")