<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Ping a server connection or reconnect if there is no connection</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.mysql-pconnect.html">mysql_pconnect</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.mysql-query.html">mysql_query</a></div> <div class="up"><a href="ref.mysql.html">MySQL Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="function.mysql-ping" class="refentry"> <div class="refnamediv"> <h1 class="refname">mysql_ping</h1> <p class="verinfo">(PHP 4 >= 4.3.0, PHP 5)</p><p class="refpurpose"><span class="refname">mysql_ping</span> — <span class="dc-title">Ping a server connection or reconnect if there is no connection</span></p> </div> <div id="function.mysql-ping-refsynopsisdiv"> <div class="warning"><strong class="warning">Warning</strong> <p class="para">This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the <a href="book.mysqli.html" class="link">MySQLi</a> or <a href="ref.pdo-mysql.html" class="link">PDO_MySQL</a> extension should be used. See also <a href="mysqlinfo.api.choosing.html" class="link">MySQL: choosing an API</a> guide and <a href="faq.databases.html#faq.databases.mysql.deprecated" class="link">related FAQ</a> for more information. Alternatives to this function include:</p> <ul class="simplelist"> <li class="member"> <span class="function"><a href="mysqli.ping.html" class="function">mysqli_ping()</a></span></li> </ul> </div> </div> <div class="refsect1 description" id="refsect1-function.mysql-ping-description"> <h3 class="title">Description</h3> <div class="methodsynopsis dc-description"> <span class="type">bool</span> <span class="methodname"><strong>mysql_ping</strong></span> ([ <span class="methodparam"><span class="type">resource</span> <code class="parameter">$link_identifier</code><span class="initializer"> = NULL</span></span> ] )</div> <p class="para rdfs-comment"> Checks whether or not the connection to the server is working. If it has gone down, an automatic reconnection is attempted. This function can be used by scripts that remain idle for a long while, to check whether or not the server has closed the connection and reconnect if necessary. </p> <blockquote class="note"><p><strong class="note">Note</strong>: <p class="para"> Automatic reconnection is disabled by default in versions of MySQL >= 5.0.3. </p> </p></blockquote> </div> <div class="refsect1 parameters" id="refsect1-function.mysql-ping-parameters"> <h3 class="title">Parameters</h3> <p class="para"> <dl> <dt> <span class="term"><em><code class="parameter"> link_identifier</code></em></span><dd> <p class="para">The MySQL connection. If the link identifier is not specified, the last link opened by <span class="function"><a href="function.mysql-connect.html" class="function">mysql_connect()</a></span> is assumed. If no such link is found, it will try to create one as if <span class="function"><a href="function.mysql-connect.html" class="function">mysql_connect()</a></span> was called with no arguments. If no connection is found or established, an <strong><code>E_WARNING</code></strong> level error is generated.</p></dd> </dt> </dl> </p> </div> <div class="refsect1 returnvalues" id="refsect1-function.mysql-ping-returnvalues"> <h3 class="title">Return Values</h3> <p class="para"> Returns <strong><code>TRUE</code></strong> if the connection to the server MySQL server is working, otherwise <strong><code>FALSE</code></strong>. </p> </div> <div class="refsect1 examples" id="refsect1-function.mysql-ping-examples"> <h3 class="title">Examples</h3> <p class="para"> <div class="example" id="example-1607"> <p><strong>Example #1 A <span class="function"><strong>mysql_ping()</strong></span> example</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br />set_time_limit</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$conn </span><span style="color: #007700">= </span><span style="color: #0000BB">mysql_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">'localhost'</span><span style="color: #007700">, </span><span style="color: #DD0000">'mysqluser'</span><span style="color: #007700">, </span><span style="color: #DD0000">'mypass'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$db </span><span style="color: #007700">= </span><span style="color: #0000BB">mysql_select_db</span><span style="color: #007700">(</span><span style="color: #DD0000">'mydb'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Assuming this query will take a long time */<br /></span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #0000BB">$sql</span><span style="color: #007700">);<br />if (!</span><span style="color: #0000BB">$result</span><span style="color: #007700">) {<br /> echo </span><span style="color: #DD0000">'Query #1 failed, exiting.'</span><span style="color: #007700">;<br /> exit;<br />}<br /><br /></span><span style="color: #FF8000">/* Make sure the connection is still alive, if not, try to reconnect */<br /></span><span style="color: #007700">if (!</span><span style="color: #0000BB">mysql_ping</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">)) {<br /> echo </span><span style="color: #DD0000">'Lost connection, exiting after query #1'</span><span style="color: #007700">;<br /> exit;<br />}<br /></span><span style="color: #0000BB">mysql_free_result</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* So the connection is still alive, let's run another query */<br /></span><span style="color: #0000BB">$result2 </span><span style="color: #007700">= </span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #0000BB">$sql2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </p> </div> <div class="refsect1 seealso" id="refsect1-function.mysql-ping-seealso"> <h3 class="title">See Also</h3> <p class="para"> <ul class="simplelist"> <li class="member"> <span class="function"><a href="function.mysql-thread-id.html" class="function" rel="rdfs-seeAlso">mysql_thread_id()</a> - Return the current thread ID</span></li> <li class="member"> <span class="function"><a href="function.mysql-list-processes.html" class="function" rel="rdfs-seeAlso">mysql_list_processes()</a> - List MySQL processes</span></li> </ul> </p> </div> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.mysql-pconnect.html">mysql_pconnect</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.mysql-query.html">mysql_query</a></div> <div class="up"><a href="ref.mysql.html">MySQL Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>