"Sono stato bocciato a parecchi esami. Un mio amico invece, li ha passati tutti a pieni voti. Ora è ingegnere e lavora in Microsoft. Io sono il proprietario."  - Bill Gates  •  "Se riesco a fare qualcosa in 10 minuti, è perché ho passato anni a studiarlo."  - Bill Gates  •  "Il vostro lavoro riempirà gran parte della vostra vita, e l'unico modo per essere veramente soddisfatti è fare ciò che ritenete sia un grande lavoro."  - Steve Jobs  •  "Siate affamati. Siate folli."  - Steve Jobs  •  

cinque 

ZERO

MySQL

14. Php: MYSQL Lavorare con i database

home / 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.

1.0 Elenco delle funzioni disponibili in PHP per dialogare con i datbase MySQL


1.1 Connettersi al server MySQL (mysql_connect)

<?php
$connection=mysql_connect(server, utente, password) or die('Errore nel connetersi al server'); 
?>

1.2 Chiudere connessione al server MySQL (mysql_close)

<?php
mysql_close($connection); //E' buona abbitudine chiudere la connessione al termine dell'operazione
?>

1.3 Selezionare un Database specifico (mysql_select_db)

<?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() 

1.4 Effettuare una Query (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

2.0 Linguaggio-SQL: Principali comandi da utilizzare all'interno delle nostre Query

2.1 I comandi: INSERT INTO, UPDATE e DELETE

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).
Esempio: INSERT INTO (Inserisci dentro..)
<?php
$query = "INSERT INTO tabella VALUES('valore1','valore2','valore3')";
$result = mysql_query($query, $connection) or die('Impossibile inserire i valori');
?> 
Esempio: UPDATE (aggiorna...)
<?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');
?>  
Esempio: DELETE (elimina...)
<?php
$query = "DELETE FROM tabella WHERE id = 1";
$result = mysql_query($query, $connection) or die('Impossibile cancellare i valori');
?>  

2.2 Il comando: SELECT

Con il comando SELECT seleziono i valori già presenti o che ho precedentemente modificato con i precedenti comandi.

Esempio: SELECT (seleziona...)
<?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 //
?>

3.0 LETTURA/CONTA dei risultati delle nostre QuerySQL

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)

Leggere i record restituiti da una query di SELECT

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()

1. mysql_num_rows()

Serve per conteggire il numero di records trovati all'interno del nostro db sulla base della query fornita

2. mysql_fetch_row()

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

3. mysql_fetch_assoc()

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

4. mysql_fetch_array()

FILE UTILI: