2016-04-04 19 views
-3

mysqliを単純化しようとしていますが、接続エラーが発生した場合は、ifとelseを使用しています。しかし、この方法では、2つのクエリを追加して、2つの接続を開始する必要があります。 2つすべて。接続エラーの処理MySqli

$conn1= new mysqli($db_conn_server, $db_conn_username, $db_conn_password, $db_conn_dbname); 

if ($conn1->connect_error) { $conn1->close(); 
$conn2= new mysqli($db_conn_server, $db_conn_username, $db_conn_password, $db_conn_dbname); 

$sms_sys_query2 = "INSERT INTO `sms_messages_tbl` (`session_unq_id`) 
VALUES ('$transaction_request_to_api_code')"; 

    if ($conn2->query($sms_sys_query2) === TRUE) { $conn2->close(); exit(); 
    } else { $conn2->close(); exit(); } 

}else { 

$sms_sys_query1 = "INSERT INTO `sms_messages_tbl` (`session_unq_id`) 
VALUES ('$transaction_request_to_api_code')"; 

if ($conn1->query($sms_sys_query1) === TRUE) { $conn1->close(); exit(); 
} else { $conn1->close(); exit(); } 
} 

トリックは同じ名前で新しい接続を開始できますか?

$conn1= new mysqli($db_conn_server, $db_conn_username, $db_conn_password, $db_conn_dbname); 

if ($conn1->connect_error) { $conn1->close(); 
    $conn1= new mysqli($db_conn_server, $db_conn_username, $db_conn_password, $db_conn_dbname); 
} 


$sms_sys_query1 = "INSERT INTO `sms_messages_tbl` (`session_unq_id`) 
VALUES ('$transaction_request_to_api_code')"; 

if ($conn1->query($sms_sys_query1) === TRUE) { $conn1->close(); exit(); 
} else { $conn1->close(); exit(); } 
} 

私はこれがDB_HOSTなどがある仕事をし、どうなるこれに初心者くさいよ、それを行うためのtheresの場合は良い方法...私に知らせてください:)

+2

これはどのように機能すると思われますか?それが一度失敗すれば、それは1つの行がダウンすると思いますか? –

+1

*なぜ*最初に2つの接続をしていますか? – deceze

+1

あなたがやっているやり方はうまくいきますが、接続が初めて失敗した場合、2回目に失敗し、再接続しようとしても失敗します。 –

答えて

0
$DBCOnnection = mysqli_connect(
      DB_HOST, 
      DB_USER, 
      DB_PASSWORD, 
      DB_NAME 
     ) or die('Error ' . mysqli_error($DBCOnnection)); 

定数。

接続に失敗すると、スクリプトは終了し、エラーを吐き出します。

通常、スローされたエラーを取り上げてエラーページを表示し、error.logファイルにエラーを記録します。

関連する問題