PHP 8.4.3 Released!

mysql_connect

(PHP 4, PHP 5)

mysql_connectAbre uma conexão a um servidor MySQL

Aviso

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

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

adicione uma nota

Notas Enviadas por Usuários (em inglês) 2 notes

up
2
nicodenboer at yahoo dot com
12 years ago
Be carefull here if you use utf8.

The file db.opt of your database should contain the following lines:
default-character-set=utf8
default-collation=utf8_general_ci

It means that your database is created to use the utf8 characterset.
One way to accomplish this is:
CREATE DATABASE my_database DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Then, after connecting to it from PHP you should use:
mysql_set_charset("UTF8", $connection);

If you don't do this, you will get ugly problems in case other software is reading and writing to the same database!!!!!!
up
-2
VTool
8 years ago
fcgid_module modules/mod_fcgid.so
FcgidMaxRequestLen 209715200
FcgidConnectTimeout 240
FcgidIOTimeout 240
FcgidBusyScanInterval 240
FcgidBusyTimeout 240
# Esta línea instruye al servidor web para que reconozca un tipo nuevo (php)
AddHandler fcgid-script .php
# Esta línea indica al servidor web donde está instalado PHP.
FcgidInitialEnv PHPRC "c:/php"
# Esta línea indica al servidor web que debe ejecutar la aplicación
# php-cgi.exe cuando un cliente (navegador) solicite una página con
# extensión .php
FcgidWrapper "c:/php/php-cgi.exe" .php
# Con esta línea damos los permisos necesarios para que los clientes puedan
# acceder/ejecutar a los archivos .php
<Directory "c:/Apache/htdocs">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride None
Allow from all
</Directory>
To Top