Aprenda a atualizar registros do MySQL utilizando PHP

Veja como modificar dados em uma tabela MySQL utilizando PHP com MySQLi e PDO de forma segura.

Como atualizar registros do MySQL com PHP?

A atualização de dados no MySQL pode ser realizada de maneira segura utilizando MySQLi ou PDO. Para isso, utilizamos a instrução SQL UPDATE.

Atualizando registros com MySQLi (Procedural)

Podemos modificar dados diretamente com MySQLi de forma procedural:

<?php
// Conectar ao banco de dados
$conexao = mysqli_connect("localhost", "usuario", "senha", "meu_banco");
if (!$conexao) {
    die("Falha na conexão: " . mysqli_connect_error());
}

// Atualizando um registro
$sql = "UPDATE usuarios SET nome='Carlos Almeida' WHERE id=1";
if (mysqli_query($conexao, $sql)) {
    echo "Registro atualizado com sucesso!";
} else {
    echo "Erro ao atualizar: " . mysqli_error($conexao);
}

// Fechar conexão
mysqli_close($conexao);
?>

Esse código altera o nome do usuário com id=1.

Atualizando registros com MySQLi (Orientado a Objetos)

<?php
$conexao = new mysqli("localhost", "usuario", "senha", "meu_banco");
if ($conexao->connect_error) {
    die("Erro na conexão: " . $conexao->connect_error);
}

$sql = "UPDATE usuarios SET nome='Maria Souza' WHERE id=2";
if ($conexao->query($sql) === TRUE) {
    echo "Registro atualizado com sucesso!";
} else {
    echo "Erro ao atualizar: " . $conexao->error;
}

$conexao->close();
?>

Aqui, usamos a sintaxe orientada a objetos para executar a consulta.

Atualizando registros com PDO (Mais Seguro)

Usar prepared statements no PDO evita SQL Injection:

<?php
try {
    $conexao = new PDO("mysql:host=localhost;dbname=meu_banco", "usuario", "senha");
    $conexao->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // Atualizar dados de forma segura
    $sql = "UPDATE usuarios SET nome = :nome WHERE id = :id";
    $stmt = $conexao->prepare($sql);

    // Definir valores
    $stmt->bindParam(':nome', $novoNome);
    $stmt->bindParam(':id', $id);

    $novoNome = "Fernando Oliveira";
    $id = 3;
    $stmt->execute();

    echo "Registro atualizado com sucesso!";
} catch (PDOException $e) {
    echo "Erro ao atualizar: " . $e->getMessage();
}
?>

Aqui, placeholders nomeados garantem que os valores sejam tratados como dados e não como comandos SQL.

Atualizar registros no MySQL via PHP é uma prática comum em sistemas dinâmicos, como perfis de usuários e sistemas de gerenciamento de conteúdo. O uso de prepared statements com PDO oferece maior segurança contra SQL Injection, tornando-se a melhor escolha para aplicações que lidam com dados sensíveis.

Algumas aplicações:

  • Atualização de informações de perfis de usuários
  • Modificação de preços de produtos em lojas virtuais
  • Alteração de status de pedidos em sistemas de e-commerce
  • Gerenciamento dinâmico de conteúdos em sites e blogs

Dicas para quem está começando

  • Sempre utilize prepared statements para evitar SQL Injection.
  • Certifique-se de que a cláusula WHERE está correta para evitar atualizações indesejadas.
  • Teste suas queries em um ambiente seguro antes de aplicá-las em produção.
  • Verifique se a atualização realmente afetou registros utilizando rowCount() no PDO.
  • Evite realizar atualizações em massa sem critério, pois isso pode impactar o desempenho do banco.

Contribuições de Rafael Nogueira

Compartilhe este tutorial: Como atualizar registros do MySQL com PHP?

Compartilhe este tutorial

Continue aprendendo:

Como buscar dados do MySQL e exibi-los em uma página PHP?

Veja como buscar registros do MySQL e exibi-los dinamicamente em uma página PHP utilizando MySQLi e PDO.

Tutorial anterior

Como excluir registros do MySQL usando PHP?

Veja como remover registros de uma tabela MySQL utilizando PHP com MySQLi e PDO de forma segura.

Próximo tutorial