Eseguire query MySQL con PHP

È arrivato il momento di darci da fare interagendo con il database

Interagire con il database è un’operazione importante ai fini dello sviluppo, perché consente di gestire tutti i dati che servono al nostro sito per funzionare. Tutti i dati salvati in un database hanno una vita infinita e offrono la possibiltà di recuperarli in qualsiasi momento, fino al momento in cui decidiamo di eliminarli o modificarli.

Vedremo in questo passaggio i comandi principali per poter avere un buon colloquio con il nostro database MySQL direttamente con le pagine di PHP.

Eseguire la connessione al database

La prima cosa che dobbiamo fare è stabilire una connessione con il db

$link = mysqli_connect($host, $user, $password, $database);

if (!$link) {
  die($messaggiodierrore);
} else {
  lista delle interrogazioni
}

Questa lista di istruzioni si occupa di eseguire la connessione al db memorizzandola nella variabile $link. Nel caso la connessione non riesca viene generato un messagggio di errore, altrimenti si prepara per l’esecuzione delle istruzioni successive.

Eseguire la query

$query = "select NOME_COLONNA from TABELLA";

$result = mysqli_query($link, $query);

Eseguendo il comando mysqli_query viene eseguita la query sul link di connessione precedentemente avviato, ed il risultato viene salvato nella variabile $result.

Leggere una lista di risultati

Nel caso in cui sappiamo che il risultato è composto da un numero indefinito di righe, dobbiamo usare queste istruzioni

while ($row=mysqli_fetch_array($result,MYSQLI_ASSOC)) {
echo $row['nomecolonna'];
}

la sintassi mysqli_fetch_array si occupa di leggere il risultato ($result) del comando di interrogazione, di estrarre in sequenza le righe risultanti, e di salvarle una alla volta nell’array $row. A questo punto, per leggere il singolo valore di ogni colonna ci basta richiamare la posizione che ha come chiave il nome della colonna nella query.

Leggere un risultato monoriga

$riga = mysqli_fetch_assoc($result);

echo $riga['nomecolonna'];

Se invece il risultato è di tipo monoriga (cioè sappiamo di aver ricevuto al massimo una sola riga), ci basterà usare la sintassi mysqli_fetch_assoc del risultato della query per recuperare direttamente l’array della riga.

Ricevere un valore booleano

Questa sintassi è generalmente utilizzata per i comandi di DELETE, di UPDATE e di INSERT, cioè quei comandi che come risultato ottengono un vero o falso. Praticamente la sintassi ci avvisa se l’operazione è avvenuta o meno.

$result = mysqli_query($link, $query);

Chiudere la connessione al database

mysqli_close($link);

Al termine delle nostre operazioni è importante ricordarsi di chiudere la connessione al database, perché il database ha un numero di connessioni parallele limitato, e se le dimentichiamo aperte rischiamo di non connetterci più fino a che le precedenti connessioni non raggiungono il timeout. Questa eventualità renderà inutilizzabile il nostro sito.

precedente | indice | successivo

Controlliamo ciclicamente il funzionamento dei link nei nostri articoli. Se noti dei link che non funzionano segnalacelo tra i commenti. Se hai apprezzato l'articolo considera l'idea di sostenere il blog anche con una piccola donazione. Grazie. Patreon / Ko-fi / Liberapay / Paypal

Lascia un commento

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