PHP
HTML
CSS
JavaScript
Generatori
Varie & Old

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

CODE: PHPpreleva codice
  1. <?php
  2. $host = "localhost";
  3. $user = "root";
  4. $password = "";
  5. $database = "scuola";
  6.  
  7. $conn = new mysqli($host, $user, $password, $database);
  8.  
  9. if ($conn->connect_error) {
  10.   die("Connessione fallita: " . $conn->connect_error);
  11. }
  12.  
  13. // Query di inserimento
  14. $sql = "INSERT INTO studenti (nome, eta) VALUES ('Luca', 20)";
  15.  
  16. if ($conn->query($sql) === TRUE) {
  17.   echo "Nuovo record inserito correttamente.";
  18. } else {
  19.   echo "Errore nell'inserimento: " . $conn->error;
  20. }
  21.  
  22. $conn->close();
  23. ?>
  24. <!-- Output:
  25. Nuovo record inserito correttamente.
  26. -->

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

CODE: PHPpreleva codice
  1. <?php
  2. $host = "localhost";
  3. $user = "root";
  4. $password = "";
  5. $database = "scuola";
  6.  
  7. $conn = new mysqli($host, $user, $password, $database);
  8.  
  9. if ($conn->connect_error) {
  10.   die("Connessione fallita: " . $conn->connect_error);
  11. }
  12.  
  13. // Query di lettura
  14. $sql = "SELECT id, nome, eta FROM studenti";
  15. $result = $conn->query($sql);
  16.  
  17. if ($result->num_rows > 0) {
  18.   // Ciclo sui risultati
  19.   while($row = $result->fetch_assoc()) {
  20.     echo "ID: " . $row["id"] . " - Nome: " . $row["nome"] . " - Età: " . $row["eta"] . "<br>";
  21.   }
  22. } else {
  23.   echo "Nessun risultato trovato.";
  24. }
  25.  
  26. $conn->close();
  27. ?>
  28. <!-- Output:
  29. ID: 1 - Nome: Luca - Età: 20
  30. ID: 2 - Nome: Anna - Età: 22
  31. -->

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.


I Cookie su questo sito:

Il nostro sito utilizza cookie e altre tecnologie in modo tale che sia noi, sia i nostri partner, possiamo ricordarci di te e capire come tu e gli altri visitatori utilizzate il nostro sito. Qui puoi trovare ulteriori informazioni sui cookie e le altre tecnologie. Chiudendo questo banner o continuando la navigazione acconsenti all'uso dei cookie. Acconsento Info Cookies