Conectando ao MySQL utilizando o PDO

Através do driver PDO podemos nos conectar a diferentes bancos de dados e realizar transações seguras.

Publicado em

Para se conectar a um banco de dados do tipo MySQL, por exemplo, é necessário tanto um driver quanto algumas linhas de código. Um driver é uma aplicação responsável por conversar diretamente com um determinado banco de dados, assim podemos escrever algumas linhas de códigos e enviar informações cruciais para a nossa transação.

O PDO é um recurso muito popular e utilizado amplamente no PHP, bem como em frameworks atuais. Não se trata apenas de uma classe de conexão, mas sim de uma opção orientada a objetos e que nos permite tratar as operações de forma segura utilizando o recurso de Prepared Statement.

Bem, para se conectar a um banco MySQL, podemos utilizar a classe abaixo.

<?php

class Database
{
    private string $host;
    private string $base;
    private string $user;
    private string $pass;

    private PDO $pdo;

    /**
     * Inicializa as propriedades da classe e chama o método de conexão
     *
     * @return void
     */
    public function __construct()
    {
        $this->host = 'localhost'; //127.0.0.1
        $this->base = 'aula_php_pdo';
        $this->user = 'root';
        $this->pass = '';

        $this->connect();
    }

    /**
     * Tenta se conectar ao banco de dados
     *
     * @return void
     */
    private function connect(): void
    {
        try {
            $str = sprintf('mysql:host=%s;dbname=%s', $this->host, $this->base);

            $this->pdo = new PDO($str, $this->user, $this->pass);

            $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        } catch (PDOException $ex) {
            print_r($ex->getMessage());
        }
    }

    public function query(string $str, array $params)
    {
        $stmt = $this->pdo->prepare($str);

        $stmt->execute($params);

        return $stmt->fetchAll(PDO::FETCH_ASSOC);
    }
}

Agora podemos fazer uma nova instância desta classe e chamar os métodos que criamos anteriormente.

<?php

require_once('Database.php');

$database = new Database();

$sql = 'SELECT id, nome FROM aluno ORDER BY :order ASC';

$result = $database->query($sql, [':order' => 'nome']);

echo '<pre>';
print_r($result);
echo '</pre>';

Note que para a conexão, tudo o que precisamos fazer é dar um new PDO e passar os parâmetros. No exemplo que criamos, utilizamos a orientação à objetos para criar a nossa classe e métodos que interagem com o PDO.

Para conferir com mais detalhes como o nosso código foi criado, assista a nossa videoaula abaixo.

 

Gunnar Correa
Gunnar Correa

Autodidata, Graduado em Desenvolvimento Web, Especialista em Tecnologias na Educação e Pós-graduando em Segurança da Informação. Começou seus estudos na área de programação quando era criança, e atualmente, está estudando desenvolvimento de jogos. Fundador da SatellaSoft, criado em 2009 com o intuito de compartilhar conhecimento de forma gratuita e inédita.

Todos os nossos cursos em promoção
Todos os nossos cursos em promoção

Webstories

Todos os nossos cursos em promoção

Todos os nossos cursos em promoção

Deixe um comentário
Aguarde...
Todos os nossos cursos em promoção