jiss7658 发表于 2010-11-24 14:07:14

求助,连接多个数据库问题 》》》紧急求助《《《《

   
   $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的这个数据库连接报错,并扑捉到这个错误。

紧急求助《《《《

Hex 发表于 2010-11-24 14:23:25

$config['db_debug'] = FALSE;
试试,如果不行,只能修改 CI 源码了。
你如果要做 log,英还需要扩展 log 类库。

jiss7658 发表于 2010-11-24 15:23:19

我找到判断的方法了。
先设置这个
$config['db_debug'] = FALSE;

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


算是解决了吧

maping1018 发表于 2010-12-6 23:19:55

用二维数组保存
页: [1]
查看完整版本: 求助,连接多个数据库问题 》》》紧急求助《《《《