English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo tutorial, imparerai come utilizzare PHP per aggiornare i record delle tabelle MySQL.
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.
<?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); ?>
<?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(); ?>
<?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.