Tutorial PHP e MYSQL – Connessione e gestione di un database – Select, insert, update, delete – parte 02

Nell’articolo precedente abbiamo visto, tramite funzioni php, come aprire una connessione a un database di tipo mysql. Inoltre abbiamo analizzato nel dettaglio le sintassi per estrarre i record dal database, comprensive delle funzioni più utili.

In questo articolo vedremo il sistema per inserire un nuovo record (insert), modificare un record già presente nel database (update) o eliminarlo (delete) attraverso l’uso del php come linguaggio di programmazione.

Insert – Inserire un nuovo record in una tabella

1
2
$q="INSERT INTO `clienti` (`nome`, `citta`) VALUES ('Elisa Neri', 'Verona')";
$query=mysql_query($q, $db);

Questa è la forma base da usare per inserire un nuovo record nella nostra tabella “clienti”.
Alcune annotazioni che dovrebbero essere chiare già dall’esempio: a ogni valore (campo del database) nella prima parentesi, corrisponde il relativo valore nella seconda parentesi. Questo significa che se invertissimo di posizione i riferimenti ai campi, dovremmo invertire di posizione anche i valori. Per esempio:

1
$q="INSERT INTO `clienti` (`citta`, `nome`) VALUES ('Verona', 'Elisa Neri')";

Inoltre, i campi che si autoincrementano (nel nostro caso “id”) possono essere tralasciati: il database ci penserà autonomamente a inserire il dovuto numero incrementale, prendendo l’ultimo presente e sommandovi 1.

Nel caso di inserimenti multipli, per esempio perché l’insert è all’interno di un ciclo while, ci sarà utile conoscere quanti record sono stati passati in rassegna. Per farlo ci basterà evocare la funzione mysql_affected_rows():

1
echo "aggiunti ".mysql_affected_rows()." record";

Update – Modificare un record presente nel database

1
2
$q="UPDATE clienti SET nome='Francesco Rossi' WHERE id=1";
$query=mysql_query($q, $db);

Nell’esempio abbiamo modificato il record con id=1, sostituendo il valore del campo nome con “Francesco Rossi”. La clausola where funziona esattamente come per l’insert, per cui rimando all’articolo precedente per i dettagli.
In questo caso abbiamo modificato un unico campo, ma è possibile modificare più campi di uno stesso record all’interno di un’unica query. Se per esempio dovessimo modificare anche la città:

1
$q="UPDATE clienti SET nome='Francesco Rossi', citta='Genova' WHERE id=1";

Alla fine di questa query non avremmo più un Mario Rossi abitante a Milano, ma un Francesco Rossi abitante a Genova.
Attenzione: se eliminate la clausola where, saranno affetti tutti i record della tabella clienti, per cui vi ritroverete i record aventi tutti lo stesso valore nel campo “nome” e nel campo “citta”.

Anche in questo caso, con la funzione mysql_affected_rows() avremo il numero totale di record modificati.

Delete – Eliminare un record dal database

Infine, occupiamoci della sintassi per eliminare un record dal database:

1
2
$q="DELETE FROM clienti WHERE id=1";
$query=mysql_query($q, $db);

In questo caso, elimineremo dal database il record con id=1.
La clausola where è la stessa dell’insert e, anche in questo caso, si usa la funzione mysql_affected_rows() per recuperare il numero di record eliminati con la query.

Esiste, anche qui, un sistema per eliminare tutti i record della tabella clienti (da usare con attenzione, visto che una volta eseguita la query non c’è possibilità di ritorno):

1
$q="DELETE * FROM clienti";
Etichette:, ,

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *