English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico PHP

Tutorial Avançado PHP

PHP & MySQL

Manual de Referência PHP

UPDATE MySQL PHP

Neste tutorial, você aprenderá como usar PHP para atualizar registros em tabelas do MySQL.

Atualizar dados da tabela do banco de dados

UPDATEA sentença é usada para alterar ou modificar registros existentes na tabela do banco de dados. Esta sentença geralmente é usada em conjunto com a cláusula WHERE para aplicar as alterações apenas aos registros que correspondem a uma condição específica.

A sintaxe básica da instrução UPDATE pode ser dada da seguinte forma:}}

UPDATE table_name SET column1=/value, column2=/value2,... WHERE column_name=some_value

Vamos usar uma consulta SQL com a cláusula WHERE e executá-la através da função mysqli_query() do PHP para atualizar um registro na tabela. Considere a tabela persons no banco de dados demonstrativo a seguir:

+----+------------+-----------+----------------------+
| id | first_name | last_name | email |
+----+------------+-----------+----------------------+
|  1 | Peter | Parker | [email protected] |
|  2 | John | Rambo | [email protected] |
|  3 | Clark | Kent | [email protected] |
|  4 | John | Carter | [email protected] |
|  5 | Harry | Potter | [email protected] |
+----+------------+-----------+----------------------+

O código PHP do exemplo a seguir atualizará a tabela persons onde o id for1endereço de e-mail dessa pessoa.

Exemplo: Maneira orientada a procedimentos

<?php
/*Tente conectar ao servidor MySQL. Supondo que você esteja executando MySQL.
Servidor com configurações padrão (usuário sem senha 'root') */
$link = mysqli_connect("localhost", "root", "", "demo");
 
//Verificar conexão
if($link === false) {
    die("Erro: Não foi possível conectar. ". mysqli_connect_error());
}
 
//Tente atualizar a execução da consulta
$sql = "UPDATE persons SET email='[email protected]' WHERE id=1";
if(mysqli_query($link, $sql)){
    echo "Registro atualizado com sucesso.";
} else {
    echo "Erro: Não foi possível executar $sql ". mysqli_error($link);
}
 
//Fechar conexão
mysqli_close($link);
?>

Exemplo: Maneira orientada a objetos

<?php
/*Tente conectar ao servidor MySQL. Supondo que você esteja executando MySQL.
Servidor com configurações padrão (usuário sem senha 'root') */
$mysqli = new mysqli("localhost", "root", "", "demo");
 
//Verificar conexão
if($mysqli === false) {
    die("Erro: Não foi possível conectar. ". $mysqli-connect_error);
}
 
//Tente atualizar a execução da consulta
$sql = "UPDATE persons SET email='[email protected]' WHERE id=1";
if($mysqli-query($sql) === true) {
    echo "Registro atualizado com sucesso.";
} else{}}
    echo "Erro: Não foi possível executar $sql. ". $mysqli->error;
}
 
//Fechar conexão
$mysqli->close();
?>

Exemplo: Método PDO

<?php
/*Tente conectar ao servidor MySQL. Supondo que você esteja executando MySQL.
Servidor com configurações padrão (usuário sem senha 'root') */
try{
    $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", "");
    //Definir o modo de erro PDO como exceção
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
    die("Erro: Não foi possível conectar. ". $e->getMessage());
}
 
//Tente atualizar a execução da consulta
try{
    $sql = "UPDATE persons SET email='[email protected]' WHERE id=1";    
    $pdo->exec($sql);
    echo "Registro atualizado com sucesso.";
} catch(PDOException $e){
    die("Erro: Não foi possível executar $sql. ". $e->getMessage());
}
 
//Fechar conexão
unset($pdo);
?>

Após a atualização, a tabela persons será assim:

+----+------------+-----------+--------------------------+
| id | first_name | last_name | email                    |
+----+------------+-----------+--------------------------+
|  1 | Peter      | Parker    | [email protected] |
|  2 | John       | Rambo     | [email protected]       |
|  3 | Clark      | Kent      | [email protected]       |
|  4 | John       | Carter    | [email protected]      |
|  5 | Harry      | Potter    | [email protected]      |
+----+------------+-----------+--------------------------+

Aviso:A cláusula WHERE da instrução UPDATE especifica quais registros devem ser atualizados. Se a cláusula WHERE for omitida, todos os registros serão atualizados.