Maison >développement back-end >tutoriel php >CI 链接mysql 和 mssql
由于要将mssql 和 mysql 里面的数据进行对比,So.
配置:database.php
<code>$db['default']['hostname'] = '192.168.1.222'; $db['default']['username'] = 'root'; $db['default']['password'] = 'test'; $db['default']['database'] = 'demo_database'; $db['default']['dbdriver'] = 'mysql'; $db['default']['dbprefix'] = 'iwebshop_'; $db['default']['pconnect'] = TRUE; $db['default']['db_debug'] = TRUE; $db['default']['cache_on'] = FALSE; $db['default']['cachedir'] = ''; $db['default']['char_set'] = 'utf8'; $db['default']['dbcollat'] = 'utf8_general_ci'; $db['default']['swap_pre'] = ''; $db['default']['autoinit'] = TRUE; $db['default']['stricton'] = FALSE; $db['default']['hostname'] = '192.168.1.222'; $db['default']['username'] = 'sa'; $db['default']['password'] = 'test'; $db['default']['database'] = 'demo_database'; $db['default']['dbdriver'] = 'sqlsrv'; $db['default']['dbprefix'] = ''; $db['default']['pconnect'] = TRUE; $db['default']['char_set'] = 'utf-8'; </code>
就是不知道怎么调用?
由于要将mssql 和 mysql 里面的数据进行对比,So.
配置:database.php
<code>$db['default']['hostname'] = '192.168.1.222'; $db['default']['username'] = 'root'; $db['default']['password'] = 'test'; $db['default']['database'] = 'demo_database'; $db['default']['dbdriver'] = 'mysql'; $db['default']['dbprefix'] = 'iwebshop_'; $db['default']['pconnect'] = TRUE; $db['default']['db_debug'] = TRUE; $db['default']['cache_on'] = FALSE; $db['default']['cachedir'] = ''; $db['default']['char_set'] = 'utf8'; $db['default']['dbcollat'] = 'utf8_general_ci'; $db['default']['swap_pre'] = ''; $db['default']['autoinit'] = TRUE; $db['default']['stricton'] = FALSE; $db['default']['hostname'] = '192.168.1.222'; $db['default']['username'] = 'sa'; $db['default']['password'] = 'test'; $db['default']['database'] = 'demo_database'; $db['default']['dbdriver'] = 'sqlsrv'; $db['default']['dbprefix'] = ''; $db['default']['pconnect'] = TRUE; $db['default']['char_set'] = 'utf-8'; </code>
就是不知道怎么调用?
在model里调用例如 $db=$this->load->database('default',TRUE);
$db->query($sql);
你上面的配置文件是错误的,两个不同的数据库需要区分开,不能用相同的键名default,否则后面的配置会覆盖前面的配置的。上面的代码就是根据键名选择不同数据库的配置的。
$db1=$this->load->database('default',TRUE);
$db2=$this->load->database('another',TRUE);
调用多个数据库后不能再用$this->db->query($sql);
只能用$db1->query($sql);
默认的,你可以直接使用 $this->db 就可以使用了。
对于第二个,你需要在default的时候,换一个名称来标识是他们的配置,从而可以通过使用
$db2=$this->load->database('another',TRUE);
来调用