A conexão com banco de dados é uma das principais funcionalidades de uma aplicação PHP, já que muitas vezes é necessário armazenar e recuperar informações em um banco de dados. Para realizar a conexão com um banco de dados MySQL em PHP, pode-se utilizar a extensão MySQLi ou PDO.
Para utilizar a extensão MySQLi, é necessário fazer a conexão com o banco de dados utilizando a função mysqli_connect(), informando o nome do host, usuário, senha e nome do banco de dados. Por exemplo:
php// faz a conexão com o banco de dados
$conn = mysqli_connect("localhost", "usuario", "senha", "nome_do_banco");
// verifica se a conexão foi bem sucedida
if (!$conn) {
die("Falha na conexão: " . mysqli_connect_error());
}
Uma vez conectado ao banco de dados, pode-se executar consultas utilizando a função mysqli_query(). Por exemplo:
php// faz uma consulta na tabela "usuarios"
$resultado = mysqli_query($conn, "SELECT * FROM usuarios");
// verifica se a consulta retornou resultados
if (mysqli_num_rows($resultado) > 0) {
// percorre os resultados e exibe na tela
while ($row = mysqli_fetch_assoc($resultado)) {
echo "ID: " . $row["id"] . " - Nome: " . $row["nome"] . "<br>";
}
} else {
echo "Nenhum resultado encontrado.";
}
// fecha a conexão com o banco de dados
mysqli_close($conn);
Utilizando a extensão PDO, a conexão com o banco de dados pode ser feita utilizando a classe PDO, informando o driver, nome do host, nome do banco de dados, usuário e senha. Por exemplo:
php// faz a conexão com o banco de dados
try {
$conn = new PDO("mysql:host=localhost;dbname=nome_do_banco", "usuario", "senha");
// configura para que erros sejam lançados em caso de exceção
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo "Falha na conexão: " . $e->getMessage();
}
Para executar consultas utilizando o PDO, pode-se utilizar a função prepare(), seguida da função execute(). Por exemplo:
php// prepara a consulta
$stmt = $conn->prepare("SELECT * FROM usuarios WHERE idade > :idade");
// associa valores aos parâmetros da consulta
$stmt->bindParam(':idade', $idade);
// executa a consulta
$stmt->execute();
// exibe os resultados
$resultado = $stmt->fetchAll();
foreach ($resultado as $row) {
echo "Nome: " . $row["nome"] . "<br>";
}
Referência bibliográfica:
- PHP Manual: https://www.php.net/manual/pt_BR/index.php
- W3Schools: https://www.w3schools.com/php/
- PHP The Right Way: https://phptherightway.com/