
Warning
This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:
mysqli_close()
PDO: Assign the value of NULL to the PDO object
Report a bug
Description
bool mysql_close ([ resource $link_identifier = NULL ] )
mysql_close() closes the non-persistent connection to the MySQL server that's associated with the specified link identifier. If link_identifier isn't specified, the last opened link is used.
Using mysql_close() isn't usually necessary, as non-persistent open links are automatically closed at the end of the script's execution. See also freeing resources.
Report a bug
Parameters
link_identifier
The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no connection is found or established, an E_WARNING level error is generated.
Report a bug
Return Values
Returns TRUE on success or FALSE on failure.
Report a bug
Examples
Example #1 mysql_close() example
<?php $link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); if (!$link) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully'; mysql_close($link); ?>
The above example will output:
Connected successfully
Report a bug
Notes
Note:
mysql_close() will not close persistent links created by mysql_pconnect().
Report a bug
See Also
mysql_connect() - Open a connection to a MySQL Server
mysql_free_result() - Free result memory
mysql_connect
mysql_client_encoding
[edit] Last updated: Fri, 22 Feb 2013
add
a note
User Contributed Notes mysql_close
- [7
notes]
up
down
1
levi at alliancesoftware dot com dot au ¶
7 Years ago
As at 5.0.x and 4.3.x: This function should never be used with shared links; instead you should set your link variables to null. (This explains red's and beer's () problems in previous comments) Here is how shared links work: - Each link is a resource. mysql_connect() by default looks for a resource with the same paramaters. If one exists, it will return the existing resource. - Every assignment of that resource to a variable increases the resource's reference count. - When the reference is decremented to zero, the underlying TCP/socket connection is closed. - Every assignment of a variable away from that resource decrements the reference count. (This includes a function level variable going out of scope) - mysql_close() also decrements the reference count. Note the last two points: mysql_close() _and_ reassignment of a variable decrement the link's reference count. A common mistake is a function like: <?php function dothings() { $link = mysql_open(...); // .. do some queries .. mysql_close($link) $link = null; } ?> this will decrement the counter twice, possibly closing the underlying connection and causing errors in other parts of the program. http://bugs.php.net/bug.php?id=30525 "this is not a bug but just how it works"
up
down
0
omega99999 at gmail dot com ¶