php e database: php mysql

Post on 13-Dec-2014

3.733 Views

Category:

Education

7 Downloads

Preview:

Click to see full reader

DESCRIPTION

Ecco giunti all'ultima tappa del percorso introduttivo su HTML, PHP e gestione di dati su MySQL: L'accesso ai dati e la visualizzazione delle informazioni contenute nel database tramite pagine dinamiche scritte in PHP.

TRANSCRIPT

PHP e MYSQL

Stefano Floris, Versione fabbraio 2012a

Realizzare programmi gestionali in ambiente WEB con HTML e PHP

Pubblicato su www.troppocurioso.altervista.org

Lo so, adesso non vedete l'ora di sviluppare una pagina WEB che visualizza l'elenco dei libri

della biblioteca.

Per vedere una copia del testo della licenza visita il sito http://www.creativecommons.it/Licenze

Stefano Floris, 2011www.troppocurioso.altervista.org

Questa opera è sotto licenza creativa (di tipo copyleft)

Attribuzione-Non commerciale-Condividi allo stesso modo Generico.

Prendete nota delle funzioni PHP che

imparerete ad usare.

PHP e MYSQL

Prendete nota delle funzioni PHP che

imparerete ad usare.

PHP e MYSQL

A proposito, sapete cosa sono le funzioni?.

y=f(x)

PHP e MYSQL

Esatto, avete capito bene. Il concetto è mutuato dalla

matematica.

y=f(x)

PHP e MYSQL

Esatto, avete capito bene. Il concetto è mutuato dalla

matematica.

f è la funzione.

Piu' semplicemente vi dirò che una funzione è quasi

come un comando.

PHP e MYSQL

Piu' semplicemente vi dirò che una funzione è quasi

come un comando.

PHP e MYSQL

Voi, per esempio, se siete arrivati fin qui conoscete

sicuramente i comandi echo, if, for ecc. ecc.

Ecco, la funzione, rispetto al comando produce un risultato che

viene generalmente salvato in una variabile.

PHP e MYSQL

Ecco, la funzione, rispetto al comando produce un risultato che viene generalmente salvato in una

variabile.

PHP e MYSQL

Piu' precisamente si dice che la funzione assume un valore (che può essere salvato in una variabile).

PHP e MYSQL

// Comando: Echo “benvenuto nel mio sito!”;

// Funzione: $potenza = pow($valore,2);

Ecco un comando e una funzione a confronto. echo

è un comando, pow una funzione.

PHP e MYSQL// Per connettersi a MySQL// mysqli_connect()//// Per aprire un database specifico// mysqli_select_db()// Per lanciare un comando SQL// mysqli_query()// Per prendere i dati del record// corrente e portarli in un // vettore// mysqli_fetch_array()// Per liberare le memoria// mysqli_free_resul()// Per chiudere la connessione MySQL// mysqli_close()

Per accedere a MYSQL e poterlo

interrogare, PHP mette a

disposizione una sequenza di

funzioni.

Vi elenco qui le piu' importanti.

Prendete nota:

PHP e MYSQLVediamo adesso come poter usare

le funzioni elencate.

Le prenderemo in esame una per volta in versione piu' semplificata

per noi.

Se desiderate vedere l'elenco completo di comandi e funzioni PHP e tutti i parametri che le

funzioni ricevono fate riferimento al manuale on line.

http://it2.php.net/manual

PHP e MYSQLPartiamo dalla prima da usare

// Per connettersi a MySQL.// mysqli_connect(<server>,<utente>,<password>,<nomedb>)//// La funzione riceve quattro parametri:// <server> → l'indirizzo del server (p.e 172.16.0.24)// <utente> → il nome dell'utente registrato su MySQL// <password> → la password associata all'utente// <nomedb> → il nome del database da usare

// La funzione restituisce:// a) FALSE (valore di tipo boolean) se la cvonnessione// non è avvenuta correttamente // (server irraggiungibile, utente e // password errati o altri problemi)// b) un valore numerico univoco della connessione

PHP e MYSQL...$db è la variabile che uso per salvare il risultato della chiamata

alla funzione...// *****************************************************// Imposto le variabili che indicano i // parametri del database// *****************************************************$db_host = "172.16.0.13"; // Server MySQL$db_user = "baldassini"; // Nome utente $db_password = "baldassini"; // Password $db_name = "baldassini"; // Nome del database

// ****************************************************// Connessione al motore DataBase usando le variabili// impostate sopra// e la funzione di php mysqli_connect()// *******************************************************$db = mysqli_connect($db_host, $db_user, $db_password);

PHP e MYSQL...$db è la variabile che uso per salvare il risultato della chiamata

alla funzione...

// ******************************************************// La variabile $db è utilizzata per verificare // l'esito della connessione// La funzione die interrompe la procedura// ******************************************************if ($db == FALSE) { die ("Errore nella connessione. Verificare i parametri di accesso");}

echo "connesione a MYSQL avvenuta <BR>";

PHP e MYSQLUna volta stabilita la connessione è necessario aprire il database scelto.

// Per connettersi a MySQL.// mysqli_select_db(<idconnessione>,<nomedatabase>)//// La funzione riceve due parametri:// <idconessione> → il codice della connessione// ricevuto dalla funzione// mysqli_connect// // <nomedatabase> → il nome del db da usare//// La funzione restituisce:// a) FALSE (valore di tipo boolean) se l'apertura // del db non è andata in porto// b) TRUE (valore di tipo boolean) se l'apertura// è andata in porto correttamente

PHP e MYSQLIn questo caso non salvo il valore della funzione (perché

non mi serve successivamente) e controllo l'esito dell'operazione direttamente con la se.

// ******************************************************// Mi collego al database che mi interessa// con la funzione mysqli_select_db() che restituisce // un valore boolean// vero = connessione avvenuta// falso = connessione con problemi// ******************************************************

if ( mysqli_select_db($db, $db_name) == FALSE){ die ("Errore nella selezione del database. Verificare i parametri");}echo "<BR>";echo "fatta connessione db <BR>";

PHP e MYSQLNotate il fatto che la variabile $db, viene usata d'ora in poi per tutte le chiamate alle altre

funzioni...

$db serve infatti ad indicare quale connessione al

DBMS utilizzare.

...if ( mysqli_select_db($db, $db_name) == FALSE)..

PHP e MYSQLAdesso serve il comando SQL da inviare al DBMS. Scrivo

il comando come testo e lo salvo in una variabile (qui chiamata $query)

// ******************************************************// Desidero recuperare i dati da una tabella,// uso la SELECT// per farlo costruistro' il comando e lo metto in // una variabile di stringa//// ******************************************************$query = "SELECT * FROM FORNITORI";

PHP e MYSQLIl comando SQL salvato in una variabile viene inviato alla

funzione mysqli_query che ha lo scopo di mandare il comando al DBMS chiedendogli di eseguirlo.

// ******************************************************// Lancio la query con la funziona PHP mysqli_query() // che chiede due parametri// 1)il primo è la variabile di connessione al database,// 2)il secondo la stringa del comando sql. //// La funzione restituisce un risultato che salvo // in una variabile che// utilizzo per verificare se tutto è andato // come mi aspettavo// Se result vale false, allora non ho ottenuto risultati// ******************************************************$result = mysqli_query($db, $query);if ($result) == FALSE { die ("nessun dato in archivio");}

PHP e MYSQLIl risultato del comando SELECT è come un foglio

elettronico: un insieme di righe e colonne. E' salvato in una variabile di tipo speciale (array) a cui abbiamo dato il nome

$result.

// ******************************************************// Adesso costruisco una tabella (<TABLE>) delle// dimensioni giuste per ospitare i dati ricevuti// // PHP ha la funzione mysqli_fetch_array() che serve // per leggere il record corrente// Quando è a fine file restituisce false// ******************************************************echo "<BR>";echo "<TABLE BORDER=1>";

PHP e MYSQL$result contiene dunque una tabella (recordset che si

scorre riga per riga). mysqli_fetch_array è la funzione che scorre il recordset, restituisce il record corrente e

sposta il puntatore al record successivo.

// Ciclo finchè è vero, cioè finché ci sono record while ($record = mysqli_fetch_array($result)){ echo "<TR>";

// Output del primo campo del record corrente echo "<TD>"; echo "$record[0] <BR>"; echo "</TD>";

// Output del secondo campo del record corrente echo "<TD> $record[1] <BR> </TD>"; echo "</TR>";}echo "</TABLE";

PHP e MYSQL$record è invece una variabile di tipo array che contiene

tutti i campi del record corrente.Per poter utilizzare il contenuto occorre indicare la posizione nel vettore. La

prima posizione (0) è il contenuto del primo campo.

// Ciclo finchè è vero, cioè finché ci sono record while ($record = mysqli_fetch_array($result)){ echo "<TR>";

// Output del primo campo del record corrente echo "<TD>"; echo "$record[0] <BR>"; echo "</TD>";

// Output del secondo campo del record corrente echo "<TD> $record[1] <BR> </TD>"; echo "</TR>";}echo "</TABLE";

PHP e MYSQLPotevo scrivere anche così:

// Ciclo finchè è vero, cioè finché ci sono record while ($record = mysqli_fetch_array($result)== TRUE){ echo "<TR>";

// Output del primo campo del record corrente echo "<TD>"; echo "$record[0] <BR>"; echo "</TD>";

// Output del secondo campo del record corrente echo "<TD> $record[1] <BR> </TD>"; echo "</TR>";}echo "</TABLE";

PHP e MYSQLTerminato l'output del risultato della query (comando SQL)

libero la memoria ($result) e chiudo le connessioni con il DBMS.

// Distrugge il record set // e libera la memoria utilizzata per gestirlo mysqli_free_result($result); // Chiude la connessione mysqli_close($db);?></body></html>

28

FineFine

top related