PPTX - WordPress.com

annuncio pubblicitario
Dati in rete
Appunti
1
L’accesso ai database SQL in PHP
• PHP estende le funzionalità di un Web
server, mentre SQL è un programma
server che si occupa della gestione di basi
di dati.
• In un sito web i dati risiedono in un
database sul server gestito da MySQL e,
ogni volta che un utente ne fa richiesta,
questi dati vengono recuperati e mostrati
nelle pagine web realizzate sul server
tramite i tag del linguaggio HTML e inviate
al browser sul client.
2
Interazione client-server
• Le due parti dell’applicazione WEB ,
lato client e lato server, si collegano
usando gli script in linguaggio PHP che
svolgono i seguenti compiti:
3
Connessione al DB e scrittura
risposta in formato HTML
• Connessione al database MySQL, invio
dei comandi SQL e acquisizione delle
risposte (fasi 2,3 e 4)
• Scrittura dei dati ricevuti dal database
all’interno di pagine Web in formato
HTML, in modo che siano interpretate
dal browser (fasi 5 e 6)
4
Dettaglio fasi: richieste
1. Il browser Web effettua una
richiesta di una pagina in
formato PHP (fase 1)
2. Il server Web individua il
file .php e attiva
l’interprete PHP per
eseguirlo (fase 2)
3. Lo script PHP contiene in
comandi SQL per
collegarsi al database
MySQL e invia le richieste
con comandi SQL (fase 3)
5
Dettaglio fasi: risposte
1. Il server MySQL risponde restituendo i dati
richiesti (fase 4)
2. Lo script PHP scrive
questi dati in una
pagina Web e la
restituisce al Web
server (fase 5)
3. Il server Web invia
all’utente la pagina
richiesta in formato
HTML (fase 6)
6
Connessione al DB
• Per collegarsi al database lo script PHP
deve eseguire il comando mysql_connect
• La sintassi completa è
mysql_connect($host, $username, $password);
– $host rappresenta l’indirizzo IP o il nome del
server su cui è in esecuzione MySQL
– $username è il nome dell’utente
– $passsword è la password dell’utente
• La funzione restituisce un oggetto $conn
nel caso in cui la connessione abbia
successo
7
Connessione al server MySQL
$conn=mysql_connect($host, $username, $password);
if (!$conn) {
die(‘Errore durante la connessione: ‘ . mysql_error());
}
echo (‘Connessione effettuata con successo’);
• Per chiudere una connessione si
esegue il comando
mysql_close($conn);
8
Connessione al database MySQL
• Sintassi
mysql_select_db(nomedatabase, connessione);
• Esempio
$accesso=mysql_select_db($db_nome, $conn);
if (!$accesso) {
die(‘Accesso al database non riuscito: ‘ . mysql_error());
}
9
Esempio completo di
connessione
<? php
$host = ‘nome server‘;
$username = ‘mario_rossi‘;
$password = ‘abcd1999‘;
$db_nome = ‘negozio_online‘;
$tab_nome = ‘clienti‘;
$conn=mysql_connect($host, $username, $password);
if (!$conn) {
die(‘Errore durante la connessione: ‘ . mysql_error());
}
$accesso=mysql_select_db($db_nome, $conn);
if (!$accesso) {
die(‘Accesso al database non riuscito: ‘ . mysql_error());
}
//lettura dei dati dalla tabella
::::
?>
10
Selezione di dati
• Dopo avere aperto la connessione, si possono
eseguire comandi SQL
$sql="SELECT * FROM $tab_nome";
$result = mysql_query($sql);
• Per recuperare le singole righe della selezione
si esegue il comando fetch_array
$row = mysql_fetch_array($result);
• Il valore di ritorno della funzione fetch_array è
un array associativo in cui ogni elemento
corrisponde ad un campo del record
11
Iterazione sui dati
• Dopo avere recuperato i dati, per
esaminare le righe si utilizza una
struttura di ripetizione while come la
seguente
while($row = mysql_fetch_array($result))
{
// operazioni sulla riga
};
12
Pagina PHP (leggitabella.php)
<? php
$host = ‘nome server‘;
$username = ‘mario_rossi‘;
$password = ‘abcd1999‘;
$db_nome = ‘negozio_online‘;
$tab_nome = ‘clienti‘;
$conn=mysql_connect($host, $username, $password);
if (!$conn) die(‘Errore durante la connessione: ‘ . mysql_error());
$accesso=mysql_select_db($db_nome, $conn);
if (!$accesso) die(‘Accesso al database non riuscito: ‘ . mysql_error());
//lettura dei dati dalla tabella
$sql="SELECT * FROM $tab_nome";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
// operazioni sulla riga
echo $row["Cognome"] . " " . $row["Nome"] . " " . $row["Citta'"];
echo "<br />";
};
13
?>
Scarica