mysql_connect
(PHP 4, PHP 5)
mysql_connect — Abre uma conexão a um servidor MySQL
Esta extensão tornou-se defasada 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:
Descrição
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 deLOAD DATA LOCAL
),MYSQL_CLIENT_SSL
,MYSQL_CLIENT_COMPRESS
,MYSQL_CLIENT_IGNORE_SPACE
ouMYSQL_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
Example #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);
?>
Example #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);
?>
Example #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
Note:
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.
Note:
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.
Note:
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 ambienteSYSTEMROOT
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