PHP: Query SQL
Query SQL con mysqli
Dopo aver stabilito una connessione al database con mysqli, possiamo eseguire query SQL per inserire, leggere, aggiornare o eliminare dati. Analizziamo i principali esempi con spiegazioni dettagliate.
Introduzione
Una volta collegati al database, il passo successivo è l’invio di comandi SQL. Con mysqli utilizziamo il metodo query() per inviare istruzioni. È buona pratica verificare sempre il risultato e stampare eventuali errori per capire cosa non ha funzionato.
Esempio di query INSERT
Con l’istruzione SQL INSERT aggiungiamo un nuovo record in una tabella. Nell’esempio, supponiamo di avere una tabella studenti con colonne id, nome ed eta.
Codice Esempio: inserimento dati
<?php$host = "localhost";
$user = "root";
$password = "";
$database = "scuola";
$conn = new mysqli($host, $user, $password, $database);
if ($conn->connect_error) {
die("Connessione fallita: " . $conn->connect_error);
}// Query di inserimento$sql = "INSERT INTO studenti (nome, eta) VALUES ('Luca', 20)";
if ($conn->query($sql) === TRUE) {
echo "Nuovo record inserito correttamente.";
} else {
echo "Errore nell'inserimento: " . $conn->error;
}$conn->close();
?><!-- Output:
Nuovo record inserito correttamente.
-->
Esempio di query SELECT
Con SELECT estraiamo dati da una tabella. Usiamo un ciclo while per scorrere i risultati riga per riga con fetch_assoc().
Codice Esempio: lettura dati
<?php$host = "localhost";
$user = "root";
$password = "";
$database = "scuola";
$conn = new mysqli($host, $user, $password, $database);
if ($conn->connect_error) {
die("Connessione fallita: " . $conn->connect_error);
}// Query di lettura$sql = "SELECT id, nome, eta FROM studenti";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// Ciclo sui risultatiwhile($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"] . " - Nome: " . $row["nome"] . " - Età: " . $row["eta"] . "<br>";
}} else {
echo "Nessun risultato trovato.";
}$conn->close();
?><!-- Output:
ID: 1 - Nome: Luca - Età: 20
ID: 2 - Nome: Anna - Età: 22
-->
Tabella riassuntiva
| Comando SQL | Descrizione | Uso pratico |
|---|---|---|
INSERT |
Aggiunge un nuovo record alla tabella. | Inserire studenti, prodotti, ordini, ecc. |
SELECT |
Recupera dati da una o più tabelle. | Mostrare liste, tabelle, report. |
UPDATE |
Aggiorna uno o più campi di record già esistenti. | Modificare dati esistenti (es. cambiare età di uno studente). |
DELETE |
Elimina record da una tabella. | Cancellare dati non più necessari. |
Considerazioni
Con mysqli possiamo eseguire qualsiasi tipo di query SQL. È importante distinguere tra query di scrittura (INSERT, UPDATE, DELETE) e query di lettura (SELECT). Ogni volta bisogna controllare il risultato e gestire eventuali errori. Nei prossimi approfondimenti vedremo anche come rendere più sicure le query con i prepared statements.

IP: 216.73.216.214