PDO | Conexão com o Banco

Aprenda a se conectar a um banco de dados utilizando PDO

Conexão com o Banco de Dados com PDO

Definindo os parâmetros

Precisaremos definir os seguintes parâmetros para nos conectarmos a um banco de dados:

  • DB Host (host do banco de dados)
    Se estiver trabalhando em localhost, o valor é localhost mesmo
  • DB Name (nome do banco de dados)
    Nome que deu ao seu banco de dados
  • DB User (nome do usuário do banco de dados)
    Se estiver em localhost, por padrão o valor é root
  • DB Pass (senha de acesso ao banco de dados)
    Se estiver em localhost, no Windows por padrão o valor é vazio, já no Mac o padrão é root
  • DB Port (porta de acesso ao banco de dados)
    Se estiver em localhost, no Windows por padrão o valor é 3306 ou 3307, já no Mac o padrão é 8888 ou 8889

Alguns desses parâmetros costumamos declarar no momento de instanciarmos o PDO. Já outros, costumamos declarar antes, veja:

$db_host = "localhost"; // Host do banco
$db_name = "nome_do_banco"; // Nome do banco
$db_port = "3306"; // Porta do banco - costuma ser 3306 ou 3307 para Windows e 8888 ou 8889 para Mac

$dsn = "mysql:host=".$db_host.";dbname=".$db_name.";charset=utf8mb4;port=".$db_port;
// concatenando as inormações do banco

$db_user = "root"; // Nome de usuário do banco
$db_pass = ""; // Senha de acesso ao banco - costuma ser vazia para Windows e 'root' para Mac

Criando nossa conexão

Agora que já sabemos quais os parâmetros, vamos nos concectar ao Banco de Dados!

$conn = new PDO($dsn, $db_user, $db_pass);
// Perceba que estamos instanciando um objeto, a partir da classe PDO, utilizando 3 parâmetros - dsn, usuário e senha

Validando nossa conexão

Agora só falta mais um passo: testarmos a conexão. Há um recurso muito útil do PDO que é o Try/Catch. Ele serve para apontar possíveis erros na conexão, facilitando assim o processo de debug.

Basicamente esse recurso testa (try) a conexão. Se tudo der certo, ele conecta ao banco. Se der erro, ele captura (catch) o erro e nos avisa na própria tela. Veja como utilizar o Try/Catch:

// Try: tentando realizar a ação
try {
$conn = new PDO($dsn, $db_user, $db_pass); // Conectando ao BD
// Confirmando a conexão na tela (apenas para debug):
echo "<p class='success'>Conexão realizada com sucesso!</p>";
}

// Cacth: capturando o erro, caso ocorra
catch(PDOException $Exception) {
// Informando o erro (a variável $Exception->getMessage aponta o exato erro):
echo "<p class='alert'>Erro: ".$Exception->getMessage()."</p>";
exit; // Encerrando a execução caso dê erro
}

Resumo

Procedimento completo da conexão com o banco de dados

Removemos os comentários e o parágrafo de confirmação da conexão. Se for copiar esse código , não se esqueça de atualizar os valores para que funcione corretamente em seu ambiente.

$db_host = "localhost";
$db_name = "nome_do_banco";
$db_port = "3306";

$dsn = "mysql:host=".$db_host.";dbname=".$db_name.";charset=utf8mb4;port=".$db_port;

$db_user = "root";
$db_pass = "";

try {
$conn = new PDO($dsn, $db_user, $db_pass);
}

catch(PDOException $Exception) {
echo $Exception->getMessage();
exit;
}