(PHP 3, PHP 4 , PHP 5)

mysql_pconnect --  Open a persistent connection to a MySQL server


resource mysql_pconnect ( [string server [, string username [, string password [, int client_flags]]]] )

Returns a positive MySQL persistent link identifier on success, or FALSE on error.

mysql_pconnect() establishes a connection to a MySQL server. The following defaults are assumed for missing optional parameters: server = 'localhost:3306', username = name of the user that owns the server process and password = empty password. The client_flags parameter can be a combination of the constants MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE or MYSQL_CLIENT_INTERACTIVE.

The server parameter can also include a port number. e.g. "hostname:port" or a path to a socket e.g. ":/path/to/socket" for the localhost.

Note: Support for ":port" was added in 3.0B4.

Support for the ":/path/to/socket" was added in 3.0.10.

mysql_pconnect() acts very much like mysql_connect() with two major differences.

First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, username and password. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (mysql_close() will not close links established by mysql_pconnect()).

The optional client_flags parameter became available in PHP 4.3.0.

This type of link is therefore called 'persistent'.

Note: Note, that these kind of links only work if you are using a module version of PHP. See the Persistent Database Connections section for more information.


Using persistent connections can require a bit of tuning of your Apache and MySQL configurations to ensure that you do not exceed the number of connections allowed by MySQL.