English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo tutorial, imparerai come utilizzare PHP per eliminare i record dalla tabella MySQL.
Come quando si inseriscono record nel tavolo, si può usare SQL DELETEL'istruzione DELETE elimina i record dal tavolo. Di solito viene utilizzata con la clausola WHERE per eliminare solo quei record che corrispondono a determinate condizioni o condizioni.
La sintassi di base dell'istruzione DELETE può essere fornita nel modo seguente:
DELETE FROM table_name WHERE column_name=some_value
Usiamo una query SQL con la clausola WHERE e l'istruzione DELETE per eseguire una query SQL, quindi passiamola alla funzione PHP mysqli_query() per eseguire questa query e eliminare le record della tabella. Ecco la tabella persons del database demo:
+----+------------+-----------+----------------------+ | 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] | +----+------------+-----------+----------------------+
Esempio di codice PHP qui sotto eliminerà dalla tabella personsfirst_nameRegistri delle persone che corrispondono a John
<?php /*Prova a connettersi al server MySQL. Supponiamo che tu stia eseguendo MySQL. Server con impostazioni predefinite (utente senza password "root") */ $link = mysqli_connect("localhost", "root", "", "demo"); //Controllo della connessione if($link === false){ die("Errore: Impossibile connettersi. ". mysqli_connect_error()); } //Tentativo di esecuzione dell'eliminazione $sql = "DELETE FROM persons WHERE first_name='John'"; if(mysqli_query($link, $sql)){ echo "Le registrazioni sono state eliminate con successo."; } else{ echo "Errore: Impossibile eseguire $sql ". mysqli_error($link); } //Chiudi la connessione mysqli_close($link); ?>
<?php /*Prova a connettersi al server MySQL. Supponiamo che tu stia eseguendo MySQL. Server con impostazioni predefinite (utente senza password "root") */ $mysqli = new mysqli("localhost", "root", "", "demo"); //Controllo della connessione if($mysqli === false){ die("Errore: Impossibile connettersi. ". $mysqli->connect_error); } //Tentativo di esecuzione dell'eliminazione $sql = "DELETE FROM persons WHERE first_name='John'"; if($mysqli->query($sql) === true){ echo "Le registrazioni sono state eliminate con successo."; } else{ echo "Errore: Impossibile eseguire $sql. " . $mysqli->error; } //Chiudi la connessione $mysqli->close(); ?>
<?php /*Prova a 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()); } //Prova a eseguire la query try{ $sql = "DELETE FROM persons WHERE first_name='John'"; $pdo->exec($sql); echo "Le registrazioni sono state eliminate con successo."; } catch(PDOException $e){ die("Errore: Impossibile eseguire $sql. " . $e->getMessage()); } //Chiudi la connessione unset($pdo); ?>
Dopo l'eliminazione,personsLa tabella apparirà come segue:
+----+------------+-----------+----------------------+ | id | first_name | last_name | email | +----+------------+-----------+----------------------+ | 1 | Peter | Parker | [email protected] | | 3 | Clark | Kent | [email protected] | | 5 | Harry | Potter | [email protected] | +----+------------+-----------+----------------------+
Come puoi vedere, le registrazioni sono state eliminate con successo dalla tabella persons.
Attenzione:La clausola WHERE dell'istruzione DELETE specifica quali record devono essere eliminati. Se viene omessa la clausola WHERE, tutti i record saranno eliminati.