Abre uma conexão a um servidor MySQL

# mysql_connect

(PHP 4, PHP 5)

mysql_connect — Abre uma conexão a um servidor MySQL

Aviso

Esta extensão foi descontinuada a partir do PHP 5.5.0 e foi removida no PHP 7.0.0. Em vez disso, as extensões MySQLi ou PDO_MySQL devem ser usadas. Veja também o guia MySQL: escolhendo uma API. Alternativas a esta função incluem:

- mysqli_connect()
- PDO::__construct()

### Descrição

function 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

Abre ou reutiliza uma conexão a um servidor MySQL.

### Parâmetros

`server`
  O servidor MySQL. Também pode incluir um número de porta, por exemplo, "servidor:porta" ou um caminho para um soquete local, por exemplo ":/caminho/para/socquete" para o servidor local. Se a diretiva do PHP mysql.default_host não estiver definida (padrão), o valor padrão é 'localhost:3306'. No modo seguro do SQL, este parâmetro é ignorado e o valor 'localhost:3306' é sempre usado.
`username`
  O nome de usuário. O valor padrão é definido pela diretiva mysql.default_user. No modo seguro do SQL, este parâmetro é ignorado e o nome do usuário proprietário do processo do servidor é usado.
`password`
  A senha. O valor padrão é definido pela diretiva mysql.default_password. No modo seguro do SQL, este parâmetro é ignorado e uma senha vazia é usada.
`new_link`
  Se uma segunda chamada for feita a mysql_connect() com os mesmos argumentos, não é estabelecida uma nova conexão, mas ao invés disso, o identificador da conexão que já estiver aberta será retornado. O parâmetro `new_link` modifica este comportamento e faz com que mysql_connect() sempre abra uma nova conexão, mesmo se mysql_connect() tiver sido chamada antes com os mesmos parâmetros. No modo seguro do SQL, este parâmetro é ignorado.
`client_flags`
  O parâmetro `client_flags` pode ser uma combinação das seguintes constantes: 128 (habilita uso de `LOAD DATA LOCAL`), `MYSQL_CLIENT_SSL`, `MYSQL_CLIENT_COMPRESS`, `MYSQL_CLIENT_IGNORE_SPACE` ou `MYSQL_CLIENT_INTERACTIVE`. Leia a seção sobre Constantes do cliente MySQL para mais informações. No modo seguro do SQL, este parâmetro é ignorado.

### Valor Retornado

Retorna um identificador de conexão MySQL em caso de sucesso ou `false` em caso de falha.

### Exemplos

Exemplo #1 Exemplo de mysql_connect()

    <?php
    $link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
    if (!$link) {
        die('Não foi possível conectar: ' . mysql_error());
    }
    echo 'Conexão bem sucedida';
    mysql_close($link);
    ?>

Exemplo #2 Exemplo de mysql_connect() usando a a sintaxe `servidor:porta`

    <?php
    // Conexão a example.com na porta 3307
    $link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');
    if (!$link) {
        die('Não foi possível conectar: ' . mysql_error());
    }
    echo 'Conexão bem sucedida';
    mysql_close($link);

    // Conexão com servidor local na porta 3307
    $link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');
    if (!$link) {
        die('Não foi possível conectar: ' . mysql_error());
    }
    echo 'Conexão bem sucedida';
    mysql_close($link);
    ?>

Exemplo #3 Exemplo de mysql_connect() usando a sintaxe ":/caminho/para/soquete"

    <?php
    // Conexão ao servidor local e soquete, ex.: /tmp/mysql.sock

    // Variação 1: omitindo localhost
    $link = mysql_connect('/tmp/mysql', 'mysql_user', 'mysql_password');
    if (!$link) {
        die('Não foi possível conectar: ' . mysql_error());
    }
    echo 'Conexão bem sucedida';
    mysql_close($link);

    // Variação 2: com localhost
    $link = mysql_connect('localhost:/tmp/mysql.sock', 'mysql_user', 'mysql_password');
    if (!$link) {
        die('Não foi possível conectar: ' . mysql_error());
    }
    echo 'Conexão bem sucedida';
    mysql_close($link);
    ?>

### Notas

> Nota: Em qualquer lugar que for especificado "localhost" ou "localhost:porta" como servidor, a biblioteca cliente do MySQL irá sobrescrever isso e tentar se conectar a um soquete local (pipe nomeado no Windows). Se for desejado usar TCP/IP, deve-se usar "127.0.0.1" ao invés de "localhost". Se a biblioteca cliente do MySQL tentar se conectar com o soquete local errado, o caminho correto deve ser definido como mysql.default_host no php.ini e o campo do servidor deve ser deixado em branco.

> Nota: A conexão com o servidor será fechada assim que a execução do script terminar, a menos que tenha sido fechada anteriormente chamando-se mysql_close() explicitamente.

> Nota: O erro "Can't create TCP/IP socket (10106)" normalmente significa que a diretiva de configuração variables_order não contém o caractere `E`. No Windows, se o ambiente não for copiado, a variável de ambiente `SYSTEMROOT` não estará disponível e o PHP terá problemas para carregar o Winsock.

### Veja Também

- mysql_pconnect() - Abre uma conexão persistente a um servidor MySQL
- mysql_close() - Fecha a conexão MySQL

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open