サーバーとの接続状況を調べ、接続されていない場合は再接続する

# mysql_ping

(PHP 4 >= 4.3.0, PHP 5)

mysql_ping — サーバーとの接続状況を調べ、接続されていない場合は再接続する

警告

この拡張モジュールは PHP 5.5.0 で非推奨になり、PHP 7.0.0 で削除されました。 MySQLi あるいは PDO_MySQL を使うべきです。詳細な情報は MySQL: API の選択 を参照ください。 この関数の代替として、これらが使えます。

- mysqli_ping()

### 説明

function mysql_ping(resource `$link_identifier` = NULL): bool

サーバーとの接続が有効かどうかを調べます。 もし接続が切れていた場合、自動的に再接続が試みられます。 この関数は、アイドル期間が長いスクリプトで利用し、 サーバーが接続を切断したかどうかを確認するために用いられます。

> 注意: MySQL 5.0.3 以降、自動再接続機能は使えなくなりました。

### パラメータ

`link_identifier`
  MySQL 接続。指定されない場合、mysql_connect() により直近にオープンされたリンクが指定されたと仮定されます。そのようなリンクがない場合、引数を指定せずに mysql_connect() がコールした時と同様にリンクを確立します。リンクが見付からない、または、確立できない場合、`E_WARNING` レベルのエラーが生成されます。

### 戻り値

MySQL サーバーとの接続が有効な場合に `true` そうでない場合に `false` を返します。

### 例

例1 mysql_ping() の例

    <?php
    set_time_limit(0);

    $conn = mysql_connect('localhost', 'mysqluser', 'mypass');
    $db   = mysql_select_db('mydb');

    /* このクエリは非常に時間がかかるものと仮定する */
    $result = mysql_query($sql);
    if (!$result) {
        echo 'Query #1 failed, exiting.';
        exit;
    }

    /* 接続が有効かどうかを確かめる。切断されていたら再接続する */
    if (!mysql_ping($conn)) {
        echo 'Lost connection, exiting after query #1';
        exit;
    }
    mysql_free_result($result);

    /* 接続が有効であることが確かめられたので、別のクエリを実行する */
    $result2 = mysql_query($sql2);
    ?>

### 参考

- mysql_thread_id() - カレントのスレッド ID を返す
- mysql_list_processes() - MySQL プロセスのリストを得る

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open