如何在codeigniter php中进行连接错误处理

卡姆列什

我有两个服务器,尝试连接第一个或第二个服务器,如果第一个连接仍然有效,而不是使用第一个连接ID,则连接到另一台服务器,但是连接ID不会出现吗?

这是我的config / database.php

$db['slave01']['hostname'] = 'xx.xx.xxx.xx';
$db['slave01']['username'] = 'xxxxxx';
$db['slave01']['password'] = 'xxxx';
$db['slave01']['database'] = 'xxx';
$db['slave01']['dbdriver'] = 'mysql';
$db['slave01']['dbprefix'] = '';
$db['slave01']['pconnect'] = TRUE;
$db['slave01']['db_debug'] = FALSE;   // =>here set FALSE
$db['slave01']['cache_on'] = FALSE;
$db['slave01']['cachedir'] = '';
$db['slave01']['char_set'] = 'utf8';
$db['slave01']['dbcollat'] = 'utf8_general_ci';
$db['slave01']['swap_pre'] = '';
$db['slave01']['autoinit'] = TRUE;
$db['slave01']['stricton'] = FALSE;

和另一台服务器的详细信息

    $db['slave02']['hostname'] = 'xx.xx.xxx.xx';
    $db['slave02']['username'] = 'xxxxxx';
    $db['slave02']['password'] = 'xxxx';
    $db['slave02']['database'] = 'xxx';
    $db['slave02']['dbdriver'] = 'mysql';
    $db['slave02']['dbprefix'] = '';
    $db['slave02']['pconnect'] = TRUE;
    $db['slave02']['db_debug'] = FALSE; // =>here set FALSE
    $db['slave02']['cache_on'] = FALSE;
    $db['slave02']['cachedir'] = '';
    $db['slave02']['char_set'] = 'utf8';
    $db['slave02']['dbcollat'] = 'utf8_general_ci';
    $db['slave02']['swap_pre'] = '';
    $db['slave02']['autoinit'] = TRUE;
    $db['slave02']['stricton'] = FALSE;

在控制器中

    $this->READ = $this->load->database('slave01', TRUE);
    if(!$this->READ->conn_id){
        echo "<br>Not connected";
        $this->READ = $this->load->database('slave02', TRUE);
    }else{
        echo "<br>Connected slave01 : ".$this->READ->conn_id;
    }

    echo "<br>Connected slave02 : ".$this->READ->conn_id;

但是连接ID无法打印!我该如何解决?

帕拉格(Tragi Tyagi)

既然你想知道的intialize的反应,我建议关闭自动初始化FALSE数据库连接两者。

$db['slave01']['autoinit'] = FALSE;
// AND
$db['slave02']['autoinit'] = FALSE;


然后在检查db状态的代码中,检查initialize()函数的TRUE / FALSE

$db_obj = $this->load->database('slave01',TRUE);
$connected = $db_obj->initialize();
if (!$connected) 
{
    $db_obj = $this->load->database('slave02',TRUE);
}

$db_obj->conn_id = ($db_obj->pconnect == FALSE) ? $db_obj->db_connect() : $db_obj->db_pconnect();
echo $db_obj->conn_id;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Python中进行用户输入错误处理?

如何在JavaScript中进行正确的错误处理?

如何在带有错误处理的 for 循环中进行迭代

如何在BNFC中进行正确的错误处理?(C ++,Flex,Bison)

如何在Apache Camel Rest API中进行自定义错误处理?

如何在 React js 功能组件中进行错误处理

如何在Rust中进行错误处理以及常见的陷阱?

如何在PyTorch中进行完全连接的批处理规范?

Python 3 Pandas如何在两个'_'之间提取字符串,并在DF中进行错误处理?

如何使用 async/await 进行正确的错误处理

matInput 如何对 valuechange 订阅的输入进行错误处理

如何使用 async/await 进行错误处理而不必等待

如何使用express.Router实例进行错误处理

如何使用EasyNetQ / RabbitMQ进行错误处理

如何正确重构Java方法以进行正确的错误处理

如何使用子进程管道进行错误处理

如何“获取”异常上下文以进行错误处理?

如何对CombineLatest中的每个函数进行单独的错误处理?

PHP错误处理程序-如何获取错误名称

如何在 CodeIgniter 中进行基于角色的访问控制?

在缩小的文件中进行错误处理

如何在使用NodeJS进行错误处理时使用CoffeeScript源映射?

如何在Codeigniter中连接mssql?

PHP的自定义错误处理程序如何在生产中打印错误?

如何在 PHP Codeigniter 中重写 URL

如何在 CodeIgniter 中修复 php foreach

如何在elasticsearch中进行连接查询?

如何在管道中进行ip连接?

如何在python中进行异常处理?