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;
}