È 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