English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico PHP

Tutorial Avançado PHP

PHP & MySQL

Manual de Referência PHP

Conexão MySQL PHP

Neste tutorial, você aprenderá como se conectar ao servidor MySQL usando PHP.

Métodos de conexão ao MySQL através do PHP

Para armazenar ou acessar dados em um banco de dados MySQL, você primeiro precisa se conectar ao servidor do banco de dados MySQL. O PHP oferece duas maneiras diferentes de se conectar ao servidor MySQL:MySQLi(Melhorado MySQL) ePDO(PHP Data Objects) extensão.

Embora o nome PDO sugira maior portabilidade e suporte a mais de doze bases de dados diferentes, o nome MySQLi sugere que ele suporta apenas o banco de dados MySQL. No entanto, a extensão MySQLi oferece uma maneira conveniente de se conectar ao servidor do banco de dados MySQL e executar consultas nele. Ambos PDO e MySQLi fornecem uma API orientada a objetos, mas o MySQLi também oferece uma API procedimental, que é relativamente fácil de entender para iniciantes.

Dica:Em comparação com a extensão PDO, a extensão MySQLi do PHP oferece tanto velocidade quanto vantagens funcionais, portanto, para projetos específicos do MySQL, pode ser uma escolha melhor.

Conectar ao servidor de banco de dados MySQL

No PHP, você pode usar a função mysqli_connect() para executar essa operação facilmente. Todas as comunicações entre o PHP e o servidor de banco de dados MySQL são realizadas por meio dessa conexão. A seguir estão as três sintaxes básicas para conectar ao servidor de banco de dados MySQL usando MySQLi e PDO:

Sintaxe: MySQLi, modo procedural

$link = mysqli_connect("hostname", "username", "password", "database");

Sintaxe: MySQLi, modo orientado a objetos

$mysqli = new mysqli("hostname", "username", "password", "database");

Sintaxe: Método PHP Data Object (PDO)

$pdo = new PDO("mysql:host=hostname;dbname=database", "username", "password");

No sintaxe acima, o parâmetro hostname especifica o nome do host (por exemplo, localhost) ou o endereço IP do servidor MySQL, enquanto os parâmetros username e password especificam as credenciais de acesso ao servidor MySQL. O parâmetro banco de dados (se fornecido) especifica o banco de dados padrão a ser usado para executar consultas MySQL.

O exemplo a seguir demonstra como usar MySQLi (programaeorientado a objetosmodo) e a extensão PDO para conectar ao servidor de banco de dados MySQL.

Exemplo online

<?php
/* Tente conectar ao servidor MySQL. Suponha que você esteja executando MySQL.
Servidor com configurações padrão (usuário sem senha "root") */
$link = mysqli_connect("localhost", "root", "");
 
// Verificar conexão
if($link === false){
    die("Erro: Não foi possível conectar." . mysqli_connect_error());
}
 
//Imprimir informações do host
echo "Conexão bem-sucedida. Informações do host: " . mysqli_get_host_info($link);
?>
<?php
/* Tente conectar ao servidor MySQL. Suponha que você esteja executando MySQL.
Servidor com configurações padrão (usuário sem senha "root") */
$mysqli = new mysqli("localhost", "root", "", "demo");
 
// Verificar conexão
if($mysqli === false){
    die("Erro: Não foi possível conectar." . $mysqli->connect_error);
}
 
//Imprimir informações do host
echo "Conexão bem-sucedida. Informações do host: ".	$mysqli->host_info;
?>
<?php
/*Tente conectar ao servidor MySQL. Suponha que você esteja executando MySQL.
Servidor com configurações padrão (usuário sem senha "root") */
try{
    $pdo = new PDO("mysql:host=localhost", "root", ");
    
    //Definir o modo de erro PDO como exceção
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    //Imprimir informações do host
    echo "Conexão bem-sucedida. Informações do host: ".	$pdo->getAttribute(constant("PDO::ATTR_CONNECTION_STATUS"));
} catch(PDOException $e){
    die("Erro: Não foi possível conectar. ".	$e->getMessage());
}
?>

Atenção: O nome de usuário padrão do servidor de banco de dados MySQL é root, sem senha. No entanto, para evitar que o banco de dados seja invadido e acessado sem autorização, você deve definir uma senha para a conta MySQL.

Dica:Definir o atributo PDO::ATTR_ERRMODE como PDO::ERRMODE_EXCEPTION informará o PDO para lançar exceções ao ocorrer erros no banco de dados.

Fechar conexão com o servidor de banco de dados MySQL

Após a execução do script, a conexão com o servidor de banco de dados MySQL será fechada automaticamente. No entanto, se você quiser fechá-lo antes, basta chamar a função PHP mysqli_close().

Exemplo online

<?php
/*Tente conectar ao servidor MySQL. Suponha que você esteja executando MySQL.
Servidor com configurações padrão (usuário sem senha "root")*/
$link = mysqli_connect("localhost", "root", "");
 
// Verificar conexão
if($link === false){
    die("Erro: Não foi possível conectar." . mysqli_connect_error());
}
 
// Imprimir informações do host
echo "Conexão bem-sucedida. Informações do host: " . mysqli_get_host_info($link);
 
// Fechar conexão
mysqli_close($link);
?>
<?php
/*Tente conectar ao servidor MySQL. Suponha que você esteja executando MySQL.
Servidor com configurações padrão (usuário sem senha "root") */
$mysqli = new mysqli("localhost", "root", "", "demo");
 
// Verificar conexão
if($mysqli === false){
    die("Erro: Não foi possível conectar." . $mysqli->connect_error);
}
 
// Imprimir informações do host
echo "Conexão bem-sucedida. Informações do host: " . $mysqli->host_info;
 
// Fechar conexão
$mysqli->close();
?>
<?php
/* Tente conectar ao servidor MySQL. Suponha que você esteja executando MySQL.
Servidor com configurações padrão (usuário sem senha "root") */
try{
    $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", "");
    
    //Definir o modo de erro PDO como exceção
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    //Imprimir informações do host
    echo "Conexão bem-sucedida. Informações do host: " . $pdo->getAttribute(constant("PDO::ATTR_CONNECTION_STATUS"));
} catch(PDOException $e){
    die("Erro: Não foi possível conectar." . $e->getMessage());
}
 
//Fechar conexão
unset($pdo);
?>