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

Tutorial di base PHP

Tutorial avanzato PHP

PHP & MySQL

Manuale di riferimento PHP

UPDATE MySQL PHP

In questo tutorial, imparerai come utilizzare PHP per aggiornare i record delle tabelle MySQL.

Aggiornamento dei dati della tabella del database

UPDATEL'istruzione UPDATE viene utilizzata per modificare o aggiornare i record esistenti nella tabella del database. Questa istruzione viene solitamente utilizzata insieme alla clausola WHERE per applicare le modifiche solo ai record che corrispondono a determinate condizioni.

La sintassi di base dell'istruzione UPDATE può essere fornita nel modo seguente:

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

Usiamo l'istruzione UPDATE e la clausola WHERE per eseguire una query SQL, quindi passiamola alla funzione PHP mysqli_query() per eseguire questa query e aggiornare le record della tabella. Consideriamo la seguente tabella persons del database di esempio:

+----+------------+-----------+----------------------+
| 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] |
+----+------------+-----------+----------------------+

Il codice PHP nell'esempio seguente aggiornera' l'indirizzo email della persona con id uguale a 1 nella tabella persons.

Esempio: metodo procedurale

<?php
/*Tenta di connettersi al server MySQL. Supponiamo che tu stia eseguendo MySQL."}}
Server con impostazioni predefinite (utente senza password "root") */
$link = mysqli_connect("localhost", "root", "", "demo");
 
//Controlla la connessione
if($link === false){
    die("Errore: impossibile connettersi. " . mysqli_connect_error());
}
 
//Tenta di eseguire l'aggiornamento della query
$sql = "UPDATE persons SET email='[email protected]' WHERE id=1";
if(mysqli_query($link, $sql)){
    echo "Il record è stato aggiornato con successo.";
} else {
    echo "Errore: impossibile eseguire $sql. " . mysqli_error($link);
}
 
//Chiude la connessione
mysqli_close($link);
?>

Esempio: metodo orientato agli oggetti

<?php
/*Tenta di connettersi al server MySQL. Supponiamo che tu stia eseguendo MySQL."}}
Server con impostazioni predefinite (utente senza password "root") */
$mysqli = new mysqli("localhost", "root", "", "demo");
 
//Controlla la connessione
if($mysqli === false){
    die("Errore: impossibile connettersi. " . $mysqli->connect_error);
}
 
//Tenta di eseguire l'aggiornamento della query
$sql = "UPDATE persons SET email='[email protected]' WHERE id=1";
if($mysqli->query($sql) === true){
    echo "Il record è stato aggiornato con successo.";
} else {
    echo "Errore: impossibile eseguire $sql. " . $mysqli->error;
}
 
//Chiude la connessione
$mysqli->close();
?>

Esempio: metodo PDO

<?php
/*Tenta di connettersi al server MySQL. Supponiamo che tu stia eseguendo MySQL."}}
Server con impostazioni predefinite (utente senza password "root") */
try{
    $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", "");
    //Imposta il modello di errore PDO su eccezione
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
    die("Errore: Impossibile connettersi. ". $e->getMessage());
}
 
//Tenta di eseguire l'aggiornamento della query
try{
    $sql = "UPDATE persons SET email='[email protected]' WHERE id=1";    
    $pdo->exec($sql);
    echo "Il record è stato aggiornato con successo.";
} catch(PDOException $e){
    die("Errore: Impossibile eseguire $sql. ". $e->getMessage());
}
 
//Chiude la connessione
unset($pdo);
?>

Dopo l'aggiornamento, la tabella persons apparirà come segue:

+----+------------+-----------+--------------------------+
| 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]      |
+----+------------+-----------+--------------------------+

Attenzione:La clausola WHERE dell'istruzione UPDATE specifica quali record devono essere aggiornati. Se viene omessa la clausola WHERE, verranno aggiornati tutti i record.