# mysql_ping

(PHP 4 >= 4.3.0, PHP 5)

mysql_ping — Ping 服务器连接的状态，如果没有连接则重新连接

警告

本扩展自 PHP 5.5.0 起已废弃，并在自 PHP 7.0.0 开始被移除。应使用 MySQLi 或 PDO_MySQL 扩展来替换之。参见 MySQL：选择 API 指南来获取更多信息。用以替代本函数的有：

- mysqli_ping()

### 说明

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

检查到服务器的连接是否正常。如果断开，则自动尝试连接。本函数可用于空闲很久的脚本来检查服务器是否关闭了连接，如果有必要则重新连接上。。

> 注意: 从 MySQL 版本 5.0.3 开始，默认情况下不启用自动重新连接功能。

### 参数

`link_identifier`

  MySQL 连接。如不指定连接标识，则使用由 mysql_connect() 最近打开的连接。如果没有找到该连接，会尝试不带参数调用 mysql_connect() 来创建。如没有找到连接或无法建立连接，则会生成 `E_WARNING` 级别的错误。

### 返回值

如果到服务器的连接可用则，返回 `true`，否则返回 `false`。

### 示例

示例 #1 mysql_ping() 示例

`<?php
set_time_limit(0);
$conn = mysql_connect('localhost', 'mysqluser', 'mypass');
$db = mysql_select_db('mydb');
/* Assuming this query will take a long time */
$result = mysql_query($sql);
if (!$result) {
echo 'Query #1 failed, exiting.';
exit;
}
/* Make sure the connection is still alive, if not, try to reconnect */
if (!mysql_ping($conn)) {
echo 'Lost connection, exiting after query #1';
exit;
}
mysql_free_result($result);
/* So the connection is still alive, let's run another query */
$result2 = mysql_query($sql2);
?>`

### 参见

- mysql_thread_id() - 返回当前线程的 ID
- mysql_list_processes() - 列出 MySQL 进程

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