Como buscar dados do MySQL e exibi-los em uma página PHP?
Exibir dados armazenados em um banco de dados MySQL em uma página PHP é uma tarefa essencial para qualquer aplicação dinâmica. Podemos realizar essa operação usando MySQLi ou PDO.
Buscando dados com MySQLi (Procedural)
O método procedural com MySQLi permite recuperar registros de forma simples:
<?php
// Conectar ao banco de dados
$conexao = mysqli_connect("localhost", "usuario", "senha", "meu_banco");
if (!$conexao) {
die("Falha na conexão: " . mysqli_connect_error());
}
// Executando consulta
$sql = "SELECT id, nome, email FROM usuarios";
$resultado = mysqli_query($conexao, $sql);
// Exibindo os resultados
while ($linha = mysqli_fetch_assoc($resultado)) {
echo "ID: " . $linha["id"] . " - Nome: " . $linha["nome"] . " - Email: " . $linha["email"] . "<br>";
}
// Fechar conexão
mysqli_close($conexao);
?>
Esse código recupera e exibe todos os usuários cadastrados no banco.
Buscando dados com MySQLi (Orientado a Objetos)
Outra abordagem com MySQLi é utilizar a orientação a objetos:
<?php
$conexao = new mysqli("localhost", "usuario", "senha", "meu_banco");
if ($conexao->connect_error) {
die("Erro na conexão: " . $conexao->connect_error);
}
$sql = "SELECT id, nome, email FROM usuarios";
$resultado = $conexao->query($sql);
if ($resultado->num_rows > 0) {
while ($linha = $resultado->fetch_assoc()) {
echo "ID: " . $linha["id"] . " - Nome: " . $linha["nome"] . " - Email: " . $linha["email"] . "<br>";
}
} else {
echo "Nenhum registro encontrado.";
}
$conexao->close();
?>
Aqui, verificamos se há registros antes de exibi-los.
Buscando dados com PDO (Mais Seguro e Flexível)
O PDO permite consultas seguras e reutilizáveis com prepared statements:
<?php
try {
$conexao = new PDO("mysql:host=localhost;dbname=meu_banco", "usuario", "senha");
$conexao->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT id, nome, email FROM usuarios";
$stmt = $conexao->prepare($sql);
$stmt->execute();
// Exibindo os resultados
while ($linha = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "ID: " . $linha["id"] . " - Nome: " . $linha["nome"] . " - Email: " . $linha["email"] . "<br>";
}
} catch (PDOException $e) {
echo "Erro: " . $e->getMessage();
}
?>
Aqui, utilizamos fetch(PDO::FETCH_ASSOC)
para recuperar os dados como um array associativo.
Por que usar PDO para buscar dados do MySQL em PHP?
Exibir dados do MySQL em uma página PHP é um dos fundamentos para criar aplicações dinâmicas, como sistemas de login, dashboards e e-commerces. O MySQLi é eficiente para quem trabalha exclusivamente com MySQL, enquanto o PDO oferece maior flexibilidade e segurança, suportando diferentes bancos de dados e prevenindo SQL Injection.
Algumas aplicações:
- Listagem de usuários em sistemas de administração
- Exibição de produtos em lojas virtuais
- Geração de relatórios com dados armazenados no banco
- Construção de painéis de controle dinâmicos
Dicas para quem está começando
- Use
num_rows
para verificar se há registros antes de exibi-los. - Prefira
PDO
se precisar conectar a diferentes bancos de dados. - Evite
SELECT *
, especifique apenas as colunas necessárias para otimizar desempenho. - Utilize prepared statements para evitar SQL Injection.
- Feche a conexão após a consulta para liberar recursos do servidor.
Contribuições de Daniel Moreira