Aula 8: Conectando ao Banco de Dados MySQL

Por: Nerd Toolkit Postado em: Outubro 21, 2024 Visto por: 594

1. O que é MySQL?

Para desenvolver um sistema dinâmico, como nosso projeto de Gerenciamento de Tarefas, é fundamental armazenar os dados de forma persistente em um banco de dados. O MySQL é uma das opções mais populares e amplamente usadas no desenvolvimento web.

MySQL é um dos sistemas de gerenciamento de banco de dados mais populares, utilizado para armazenar e organizar dados de maneira eficiente. Ele permite que você crie, leia, atualize e delete informações em suas aplicações.

Por que usar MySQL?

  • Open Source: É gratuito para uso e amplamente suportado.
  • Alta Performance: Projetado para lidar com grandes volumes de dados de forma rápida.
  • Escalabilidade: Pode ser usado em pequenos projetos ou grandes aplicações com milhões de usuários.

2. Preparando o Banco de Dados

Antes de conectar ao banco de dados, você precisa garantir que o MySQL esteja instalado e configurado em seu servidor. Vamos usar o phpMyAdmin, uma ferramenta popular para gerenciar bancos de dados MySQL, ou comandos SQL diretamente no PHP.

Passos para Criar o Banco de Dados:

  1. Você pode usar o terminal ou uma ferramenta como o phpMyAdmin.
  2. Vamos usar o phpMyAdmin, uma ferramenta popular para gerenciar bancos de dados MySQL, ou comandos SQL diretamente no PHP.
  3. Vá até a aba SQL e cole o comando o seguinte comando para criar um banco de dados para o projeto:
  4. Execute o comando. Se tudo estiver correto, a tabela será criada.

    CREATE DATABASE gerenciador_tarefas;
  5. Clique no Banco de dados criado para entrar nele.
  6. Dentro do banco de dados, crie uma tabela para armazenar as tarefas. Para isso, vá até a aba SQL, cole e execute os comandos mostrados abaixo:

    USE gerenciador_tarefas;
    CREATE TABLE tasks (
       id INT AUTO_INCREMENT PRIMARY KEY,
       titulo VARCHAR(255) NOT NULL,
       descricao VARCHAR(255) NOT NULL,
       data_criacao TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
       status BOOLEAN DEFAULT FALSE
    );


Nossa tabela de tarefas conterá os seguintes campos:

  • id: Um identificador único e autoincrementável para cada tarefa, contendo números inteiros que são gerados automaticamente para cada nova linha (registro).
  • titulo: O título da tarefa, uma coluna de texto limitada a 255 caracteres.
  • descricao: Uma descrição breve da tarefa,  uma coluna de texto limitada a 255 caracteres.
  • data_criacao:  Armazena a data e hora de criação da tarefa, com um valor padrão de data e hora atual.
  • status: Um campo booleano que indica se a tarefa está completa ou não. Um campo booleano que pode ser verdadeiro (TRUE) ou falso (FALSE).

 

3. Conectando o PHP ao MySQL

No PHP, a conexão com o banco de dados pode ser feita de diferentes maneiras. Vamos começar utilizando a extensão mysqli (MySQL Improved), que oferece tanto uma interface procedural quanto orientada a objetos. 

Para conectar ao MySQL do nosso projeto, vamos criar uma classe em PHP que se conectará ao banco de dados utilizando orientação a objetos.

Passo 1: Criando a Classe de Conexão

Vamos criar um arquivo chamado Database.php dentro da pasta classes do projeto.

<?php
class Database {
   private $host = "localhost";
   private $db_name = "gerenciador_tarefas";
   private $username = "root";
   private $password = "";
   public $conn;
   // Método para conectar ao banco de dados
   public function getConnection() {
       $this->conn = null;
       // Tentando estabelecer a conexão
       try {
           $this->conn = new mysqli($this->host, $this->username, $this->password, $this->db_name);
           if ($this->conn->connect_error) {
               die("Falha na conexão: " . $this->conn->connect_error);
           }
       } catch (Exception $e) {
           echo "Erro de conexão: " . $e->getMessage();
       }
       return $this->conn;
   }
}

Explicação do Código:

  1. Informações de Conexão: Utilizamos quatro parâmetros essenciais para a conexão:
    • servidor: Geralmente "localhost" se você estiver rodando no seu próprio servidor local.
    • usuario: O nome de usuário configurado para acessar o banco de dados.
    • senha: A senha associada ao usuário do banco de dados.
    • banco: O nome do banco de dados que você criou para armazenar as informações.
  2. Criando a Conexão: A função new mysqli() é usada para criar uma nova instância da classe mysqli, que gerencia a conexão.
  3. Verificando a Conexão: Caso a conexão falhe, o PHP exibirá a mensagem de erro apropriada.

Lidando com Erros na Conexão

A falha na conexão pode ocorrer por vários motivos, como dados incorretos ou falhas no servidor. Portanto, é importante sempre verificar se a conexão foi estabelecida corretamente antes de executar qualquer operação com o banco de dados.

Passo 2: Testando a Conexão

Vamos criar um arquivo chamado test_connection.php para testar se a conexão está funcionando corretamente.

<?php
require_once 'classes/Database.php';
$database = new Database();
$conn = $database->getConnection();
if ($conn) {
    echo "Conexão bem-sucedida!";
} else {
    echo "Falha na conexão.";
}
?>

Passo 3: Executando o Teste

  • Salve o arquivo e abra no navegador: http://localhost/seu_projeto/test_connection.php.
  • Se a conexão estiver correta, você verá a mensagem "Conexão bem-sucedida!".

4. Melhorando a Segurança na Conexão

Sanitização de Dados: Ao trabalhar com entradas de usuário, é essencial sanitizar os dados para evitar injeções de SQL. Sempre use funções apropriadas para limpar os dados antes de usá-los em consultas.

Exemplo:

$descricao = $conn->real_escape_string($_POST['descricao']);

Erro na Conexão: Para segurança adicional, você pode ocultar detalhes específicos do erro ao usuário final e registrar os detalhes em um arquivo de log.

Exemplo de Manejo de Erro:

try {
   $this->conn = new mysqli($this->host, $this->username, $this->password, $this->db_name);
   if ($this->conn->connect_error) {
       throw new Exception("Não foi possível conectar ao banco de dados.");
   }
} catch (Exception $e) {
   error_log($e->getMessage(), 3, 'errors.log');
   echo "Erro ao conectar ao banco de dados. Tente novamente mais tarde.";
}

5. Exercício Prático

Modifique o arquivo Database.php para aceitar parâmetros dinâmicos de conexão, como host, nome do banco de dados, usuário e senha. Teste essa implementação conectando-se a diferentes bancos de dados ou usando diferentes credenciais.


6. Próximos Passos

Agora que você sabe como conectar o PHP ao MySQL, estamos prontos para começar a interagir com o banco de dados. Na próxima aula, vamos aprender sobre a classe Database, que será a responsável por nos deixar interagir com o banco de dados usado no projeto Sistema de Gerenciamento de Tarefas.

Tags:
#PHP MySQL  # Conexão ao banco de dados  # Programação PHP  # Banco de dados MySQL  # PHP orientado a objetos  # Aula de PHP 

Notícias Relacionadas

Aula 8: Conectando ao Banco de Dados MySQL
  Contato
  • support@nerdtoolkit.com.br
Mapa do Site
Mostrar mapa do site
  Sobre

Feito de programadores para programadores.

Este site utiliza cookies. Ao continuar a utilizar este site, você concorda com a nossa utilização de cookies e política de privacidade.
Leia mais Concordo