Open a connection to a MySQL Server

- « mysql_close

- mysql_create_db »

- PHP Manual
- MySQL Functions
- Open a connection to a MySQL Server

# mysql_connect

(PHP 4, PHP 5)

mysql_connect — Open a connection to a MySQL Server

Warning

This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide. Alternatives to this function include:

- mysqli_connect()
- PDO::__construct()

### Description

mysql_connect(
string `$server` = ini_get("mysql.default_host"),
string `$username` = ini_get("mysql.default_user"),
string `$password` = ini_get("mysql.default_password"),
bool `$new_link` = `false`,
int `$client_flags` = 0
): resource|false

Opens or reuses a connection to a MySQL server.

### 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'. In SQL safe mode, this parameter is ignored and value 'localhost:3306' is always used.

`username`

  The username. Default value is defined by mysql.default_user. In SQL safe mode, this parameter is ignored and the name of the user that owns the server process is used.

`password`

  The password. Default value is defined by mysql.default_password. In SQL safe mode, this parameter is ignored and empty password is used.

`new_link`

  If a second call is made to mysql_connect() with the same arguments, no new link will be established, but instead, the link identifier of the already opened link will be returned. The `new_link` parameter modifies this behavior and makes mysql_connect() always open a new link, even if mysql_connect() was called before with the same parameters. In SQL safe mode, this parameter is ignored.

`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`. Read the section about MySQL client constants for further information. In SQL safe mode, this parameter is ignored.

### Return Values

Returns a MySQL link identifier on success or `false` on failure.

### Examples

Example #1 mysql_connect() example

    <?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) {    die('Could not connect: ' . mysql_error());}echo 'Connected successfully';mysql_close($link);?>

Example #2 mysql_connect() example using `hostname:port` syntax

    <?php// we connect to example.com and port 3307$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');if (!$link) {    die('Could not connect: ' . mysql_error());}echo 'Connected successfully';mysql_close($link);// we connect to localhost at port 3307$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');if (!$link) {    die('Could not connect: ' . mysql_error());}echo 'Connected successfully';mysql_close($link);?>

Example #3 mysql_connect() example using ":/path/to/socket" syntax

    <?php// we connect to localhost and socket e.g. /tmp/mysql.sock// variant 1: omit localhost$link = mysql_connect(':/tmp/mysql', 'mysql_user', 'mysql_password');if (!$link) {    die('Could not connect: ' . mysql_error());}echo 'Connected successfully';mysql_close($link);// variant 2: with localhost$link = mysql_connect('localhost:/tmp/mysql.sock', 'mysql_user', 'mysql_password');if (!$link) {    die('Could not connect: ' . mysql_error());}echo 'Connected successfully';mysql_close($link);?>

### Notes

> Note:

> Whenever you specify "localhost" or "localhost:port" as server, the MySQL client library will override this and try to connect to a local socket (named pipe on Windows). If you want to use TCP/IP, use "127.0.0.1" instead of "localhost". If the MySQL client library tries to connect to the wrong local socket, the correct path should be set as mysql.default_host in php.ini and the server field left blank.

> Note:

> The link to the server will be closed as soon as the execution of the script ends, unless it's closed earlier by explicitly calling mysql_close().

> Note:

> Error "Can't create TCP/IP socket (10106)" usually means that the variables_order configure directive doesn't contain character `E`. On Windows, if the environment is not copied the `SYSTEMROOT` environment variable won't be available and PHP will have problems loading Winsock.

### See Also

- mysql_pconnect() - Open a persistent connection to a MySQL server
- mysql_close() - Close MySQL connection