【发布时间】:2014-05-13 03:15:21
【问题描述】:
我正在做一个项目,我需要测试远程 MySQL 连接,如果它失败,那么我需要代码切换到使用本地 MySQL 连接。我遇到的问题是代码总是显示错误,这真的会扼杀最终用户体验。
我尝试过的事情:
- 尝试捕获异常
- 用@ 抑制错误
- 对着电脑大喊
代码:
//-----Remote MySQL Server-----------
$rem_host="99.99.999.999"; //Host Name
$rem_user="testUser"; //MySQL Username
$rem_pass="testPass"; //MySQL Password
$rem_db="testDb"; //Database Name
//----Local MySQL Server-----------
$local_host="127.0.0.1"; //Host Name
$local_user="testLocal"; //MySQL Username
$local_pass="passLocal"; //MySQL Password
$local_db="localDb"; //Database Name
$remoteConnection = mysqli_connect("$rem_host","$rem_user","$rem_pass","$rem_db");
if(!$remoteConnection){ $check_connection=0; }
else{ $check_connection=1; mysqli_close($remoteConnection); }
if($check_connection==1){
$db_host = $rem_host; //Host Name
$db_user = $rem_user; //MySQL Username
$db_pass = $rem_pass; //MySQL Password
$db_name = $rem_db; //Database Name
}
else{
$db_host = $local_host; //Host Name
$db_user = $local_user; //MySQL Username
$db_pass = $local_pass; //MySQL Password
$db_name = $local_db; //Database Name
}
?>
【问题讨论】:
-
if($check_connection=1){将值1分配到$check_connection。使用==进行相等性测试。 -
这是一个错字,但不是问题。
标签: php mysql error-handling mysqli connection