用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3223|回复: 3
收起左侧

[已解决] 求助,连接多个数据库问题 》》》紧急求助《《《《

[复制链接]
发表于 2010-11-24 14:07:14 | 显示全部楼层 |阅读模式
PHP复制代码
   
   $config['hostname'] = $server_ip;
    $config['username'] = $sql_account;
    $config['password'] = $sql_pwd;
    $config['database'] = $sql_dbname;
    $config['dbdriver'] = "mysql";
    $config['dbprefix'] = "";
    $config['pconnect'] = FALSE;
    $config['db_debug'] = TRUE;
    $config['cache_on'] = FALSE;
    $config['cachedir'] = "";
    $config['char_set'] = "utf8";
    $config['dbcollat'] = "utf8_general_ci";
    $DB1 = $this->load->database($config, TRUE);
 
    $sql = "SHOW TABLES WHERE Tables_in_{$sql_dbname} = 'zen_configuration';";
    $res_r = $DB1->query($sql);
    if($res_r -> num_rows()>0){
      //更新相应数据库信息
     }
//更新主数据库信息
$this->load->database('default', TRUE);
    $sql_my = "INSERT INTO syn_siteid_log(website_id,old_site_id,new_site_id,d_datetime)VALUES('{$website_id}','{$old_site_id}','$site_id',NOW());";
    $this->db->query($sql_my);
 
 
复制代码


但是连接其它数据库时 由于各种原因会导致连接不上 会报错:A Database Error Occurred
Unable to connect to your database server using the provided settings.



我想像这样连接不上的数据库就直接记录日志 不处理,请问如何屏蔽CI的这个数据库连接报错,并扑捉到这个错误。

紧急求助《《《《
发表于 2010-11-24 14:23:25 | 显示全部楼层
PHP复制代码
$config['db_debug'] = FALSE;
复制代码

试试,如果不行,只能修改 CI 源码了。
你如果要做 log,英还需要扩展 log 类库。
 楼主| 发表于 2010-11-24 15:23:19 | 显示全部楼层
我找到判断的方法了。
先设置这个
$config['db_debug'] = FALSE;

然后这样判断
$DB1 = $this->load->database($config, TRUE);
if(!empty($DB1->conn_id))
{
    //执行
}else{
   //连接失败
}


算是解决了吧
发表于 2010-12-6 23:19:55 | 显示全部楼层
用二维数组保存

本版积分规则