現在の位置: ホーム> 最新記事一覧> mysqli_ping後に$ errnoを確認して、接続が復元されているかどうかを確認してください

mysqli_ping後に$ errnoを確認して、接続が復元されているかどうかを確認してください

M66 2025-05-28

MySQLデータベースを使用する場合、データベース接続が切断される状況に対処する必要があることがよくあります。通常、コードで接続検出を行い、データベース接続が切断されたら、再接続を試みることができます。一般的な方法は、mysqli_ping()関数を使用して接続が有効かどうかを検出し、 mysqli :: $ errnoを使用して接続回復のステータスを確認することです。

1。mysqli_ping ()とは何ですか?

mysqli_ping()は、mysqlデータベース接続がまだ有効かどうかを検出するためのphpによって提供される関数です。データベース接続が有効な場合、関数はtrueを返し、それ以外の場合はfalseを返します。接続が使用できない場合は、この関数を使用して接続を再確立しようとすることができます。

mysqli_ping()の使用例

<?php
$mysqli = new mysqli("m66.net", "username", "password", "dbname");

if ($mysqli->connect_error) {
    die("接続に失敗しました: " . $mysqli->connect_error);
}

// 使用 mysqli_ping() 接続がまだ有効かどうかを確認してください
if (!$mysqli->ping()) {
    echo "切断,再接続しようとしています...<br>";
    // 再接続してみてください
    $mysqli = new mysqli("m66.net", "username", "password", "dbname");

    // 再接続が成功したかどうかを確認してください
    if ($mysqli->connect_error) {
        die("重新接続に失敗しました: " . $mysqli->connect_error);
    } else {
        echo "正常に再接続します!<br>";
    }
} else {
    echo "接続は有効なままです!<br>";
}
?>

上記のコードでは、 mysqli_ping()を使用して、データベース接続のステータスを検出します。接続が切断されている場合、データベースに再接続し、接続が成功したかどうかを確認しようとします。

2. mysqli :: $ errnoを使用する方法データベース接続が正常に復元されているかどうかを確認しますか?

mysqli :: $ errnoは、最新のデータベース操作のエラーコードを含むPHPで一般的に使用されるプロパティです。最近の操作でエラーが発生しなかった場合、 mysqli :: $ errnoの値は0です。データベース接続が正常に復元された場合、 mysqli :: $ errno0になります。接続障害またはその他のデータベースエラーが発生した場合、 mysqli :: $ errnoは非ゼロ値を返し、エラーの特定の原因を示します。

mysqli :: $ errnoを使用して接続回復ステータスを確認します

<?php
$mysqli = new mysqli("m66.net", "username", "password", "dbname");

if ($mysqli->connect_error) {
    die("接続に失敗しました: " . $mysqli->connect_error);
}

// 使用 mysqli_ping() 接続が有効かどうかを確認してください
if (!$mysqli->ping()) {
    echo "切断,再接続しようとしています...<br>";
    
    // 再接続してみてください
    $mysqli = new mysqli("m66.net", "username", "password", "dbname");

    // 使用 mysqli::$errno 接続が復元されているかどうかを確認します
    if ($mysqli->connect_error) {
        echo "重新接続に失敗しました,エラーコード: " . $mysqli->connect_errno . "<br>";
    } else {
        echo "正常に再接続します!<br>";
    }
} else {
    echo "接続は有効なままです!<br>";
}
?>

上記のコードでは、 mysqli :: $ errnoをチェックすることにより、接続が復元されるかどうかを確認します。再接続しようとするとき、接続エラーがある場合、 $ mysqli-> connect_errnoを介して特定のエラーコードを取得して、開発者が問題を理解できるようにすることができます。

3.なぜmysqli_ping()およびmysqli :: $ errnoと組み合わせて使用​​するのですか?

mysqli_ping()は、データベース接続が有効かどうかを確認するのに役立ちますが、接続が切断されたときに、MySQLサーバー側にいくつかのネットワークエラーまたは問題がある可能性があります。この時点で、 mysqli :: $ errnoは、問題をよりよく診断するのに役立つ追加のエラー情報を提供できます。

たとえば、 mysqli :: $ errnoは次のエラーコードを返すことができます。

  • 2002-接続タイムアウト

  • 1045-許可の問題

  • 2003-データベースサーバーにアクセスできません

mysqli_ping()mysqli :: $ errnoを組み合わせることにより、データベース接続のステータスをより明確に理解し、対応する測定値をとることができます。

4。概要

mysqli_ping()を使用して、データベース接続のステータスを確認し、 mysqli :: $ errnoを介して正常に復元されるかどうかを確認することは、データベース接続の問題に対処する非常に効果的な方法です。これら2つを組み合わせることで、データベース接続の問題を迅速に検出して対処し、プログラムの安定性と信頼性を確保できます。

上記の方法により、MySQLデータベースへの接続が健全な状態にあることを簡単に確保でき、接続損失によるエラーを減らすことができます。データベース接続の問題のタイムリーな検出と取り扱いは、システムの安定した動作を確保するための鍵であることを忘れないでください。