# mysql_pconnect

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_pconnect — Open a persistent connection to a MySQL server

### Description

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

Establishes a persistent connection to a MySQL server.

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()).

This type of link is therefore called 'persistent'.

### Parameters

`server`

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

  If the PHP directive mysql.default_host is undefined (default), then the default value is 'localhost:3306'

`username`

  The username. Default value is the name of the user that owns the server process.

`password`

  The password. Default value is an empty password.

`client_flags`

  The `client_flags` parameter can be a combination of the following constants: 128 (enable LOAD DATA LOCAL handling), `MYSQL_CLIENT_SSL`, `MYSQL_CLIENT_COMPRESS`, `MYSQL_CLIENT_IGNORE_SPACE` or `MYSQL_CLIENT_INTERACTIVE`.

### Return Values

Returns a MySQL persistent link identifier on success, or `FALSE` on failure.

### ChangeLog

Version | Description
--- | ---
4.3.0 | Added the `client_flags` parameter.
3.0.10 | Added support for ":/path/to/socket" with `server` .
3.0.0 | Added support for ":port" with `server` .

### Notes

> 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.

Warning

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.

> Note: You can suppress the error message on failure by prepending a @ to the function name.

### See Also

- mysql_connect()
- Persistent Database Connections