Adr*_*rge 1 php mysql sql-server codeigniter
我正在尝试将我的应用程序连接到两个数据库.一个是MySQL,一个是MSSQL.我试图在Google上找到一个可以开始的地方,但我没有成功.我在StackOverflow上的类似于我之前的问题中找不到任何有用的东西.
你们有没有把CI应用程序与MySQL和MSSQL联系起来?
小智 6
您可以将db配置放在application/config/database.php上,如下例所示:
$active_group = "default";
$active_record = TRUE;
/*MYSQL DB config EXMPALE */
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'username';
$db['default']['password'] = 'pass';
$db['default']['database'] = 'DATABASE_NAME';
$db['default']['dbdriver'] = 'mysqli';
//...
/* MSSQL DB config EXMPALE, note the first param my_mssql */
$db['my_mssql']['hostname'] = 'SQL SERVER IP';
$db['my_mssql']['username'] = 'username';
$db['my_mssql']['password'] = 'pass';
$db['my_mssql']['database'] = 'DATABASE_NAME';
$db['my_mssql']['dbdriver'] = 'mssql';
//...
Run Code Online (Sandbox Code Playgroud)
请注意,我们将默认组设为mysql,因此如果您调用$ this-> db-> ..它将使用默认组db.
用于查询另一个连接ex.MSSQL你将在你的模型中添加这样的东西
class example_model extends CI_Model
{
var $mssql;
function __construct()
{
parent::__construct();
$this->mssql = $this->load->database ( 'my_mssql', TRUE );
}
function get_some_mssql_rows(){
//use $this->mssql instead of $this->db
$query = $this->mssql->query('select * from mssql_table');
//...
}
function get_some_mysql_rows(){
//use $this->db for default
$query = $this->db->query('select * from mysql_table');
//...
}
}
Run Code Online (Sandbox Code Playgroud)
你可以使用这种方式为许多dbs连接,例如read replica