cinque •
ZERO
MySQL
←
Lucio Paolo Asciolla
Senior Full Stack Developer
MySQL è un database veloce e potente in grado di gestire applicazioni web-based di grande criticità (impegno);
Per dovere di cronaca, anche se la scelta più diffusa è quella di MySQL, va evidenziato che PHP può dialogare con diversi sistemi di server come MySQL, MS Access, PostgreSql, Oracle, Microsoft Sql Server, Sybase ecc.
<?php
$connection=mysql_connect(server, utente, password) or die('Errore nel connetersi al server');
?>
<?php mysql_close($connection); //E' buona abbitudine chiudere la connessione al termine dell'operazione ?>
<?php
mysql_select_db('nome_database', $connection) or die('Errore nel collegarsi al database');
?>
Una volta collegatici al nostro database è possibile interrogarlo mediante delle query;
Le Query sono stringhe di comando in linguaggio-SQL, tramite il quale è possibile recuperare i dati contenuti nel database;
La funzione di cui avremo bisogno è la seguenta: mysql_query()
<?php
$query = "SELECT * FROM tabella WHERE id > 10"; // questa è la nostra query d'interrogazione
$result = mysql_query($query, $connection) or die('La query è errata'); //così catturiamoi risultati
?>
Note: La variabile $connection è facoltativa, se omessa, verrà utilizzata l'ultima connessione aperta
Con i seguenti comandi INSERT INTO, UPDATE e DELETE andiamo a modificare i valori all'interno della tabella del nostro database; con INSERT INTO andiamo ad inserire un valore (in una cella vuota), con UPDATE lo aggiorniamo (cambiamo) e con DELETE lo eliminiamo.
Note: stiamo ancora parlando di scrittura dei dati all'interno della tabella del database; è importante specificarlo in quanto per essere utilizzati all'interno del nostro futuro codice PHP essi dovranno essere letti (contati).
<?php
$query = "INSERT INTO tabella VALUES('valore1','valore2','valore3')";
$result = mysql_query($query, $connection) or die('Impossibile inserire i valori');
?>
<?php
$query = "UPDATE tabella SET campo1='valore1', campo2='valore2', campo3='valore3' WHERE id = 1";
$result = mysql_query($query, $connection) or die('Impossibile aggiornare i valori');
?>
<?php
$query = "DELETE FROM tabella WHERE id = 1";
$result = mysql_query($query, $connection) or die('Impossibile cancellare i valori');
?>
Con il comando SELECT seleziono i valori già presenti o che ho precedentemente modificato con i precedenti comandi.
<?php
$query = "SELECT nome, cognome, telefono FROM tabella ORDER BY cognome ASC";
$result = mysql_query($query, $connection) or die('La query è errata');
// FROM da-nome della tabella; ORDER BY ordina secondo..; ASC ascendente / DESC discendente //
?>
Abbiamo compreso come in sostanza collegarci ad un database e come dare comandi per la modifica e selezioni dei valori al suo interno contenuti.
Ora per utilizzare questi valori bisogna leggerli o meglio ancora contarli (ciclarli)
Una volta recuperati(catturati) i record(risultati) dobbiamo ciclarli(stamparli) a video
A tal fine, utilizzeremo le funzioni mysql_num_rows() e mysql_fetch_rows()
Serve per conteggire il numero di records trovati all'interno del nostro db sulla base della query fornita
Recupera il contenuto dei record trovati e restituisce un array contenente i valori di ogni campo (riscontrato nel recordset) che potremo poi richiamare specificando il relativo indice numerico
Del tutto simile a mysql_fetch_row(), con l'unica differenza che esso sviluppa un erray contenente i valori di ogni campo ma utilizzando come indice il nome del campo stesso
FILE UTILI: