(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:
$server
= ini_get("mysql.default_host"),$username
= ini_get("mysql.default_user"),$password
= ini_get("mysql.default_password"),$new_link
= false
,$client_flags
= 0Abre ou reutiliza uma conexão a um servidor MySQL.
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.
Retorna um identificador de conexão MySQL em caso de sucesso ou false
em caso de falha.
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);
?>
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 ambienteSYSTEMROOT
não estará disponível e o PHP terá problemas para carregar o Winsock.