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 risultati
while($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.