Php e database: php mysql

3,575 views

Published on

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.

Published in: Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,575
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
30
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Php e database: php mysql

  1. 1. PHP e MYSQL Lo so, adesso non vedete lora di sviluppare una pagina WEB che visualizza lelenco dei libri della biblioteca.Stefano Floris, Realizzare programmi gestionali in ambienteVersione fabbraio 2012a WEB con HTML e PHP Pubblicato su www.troppocurioso.altervista.org
  2. 2. Questa opera è sotto licenza creativa (di tipo copyleft) Attribuzione-Non commerciale- Condividi allo stesso modo Generico.Per vedere una copia del testo della licenza visita il sitohttp://www.creativecommons.it/LicenzeStefano Floris, 2011www.troppocurioso.altervista.org
  3. 3. PHP e MYSQL Prendete nota delle funzioni PHP cheimparerete ad usare.
  4. 4. PHP e MYSQL Prendete nota delle funzioni PHP cheimparerete ad usare. A proposito, sapete cosa sono le funzioni?.
  5. 5. PHP e MYSQL y=f(x) Esatto, avete capito bene. Il concetto è mutuato dalla matematica.
  6. 6. PHP e MYSQL y=f(x) Esatto, avete capito bene. Il concetto è mutuato dalla matematica. f è la funzione.
  7. 7. PHP e MYSQLPiu semplicemente vi diròche una funzione è quasi come un comando.
  8. 8. PHP e MYSQLPiu semplicemente vi diròche una funzione è quasi come un comando. Voi, per esempio, se siete arrivati fin qui conoscete sicuramente i comandi echo, if, for ecc. ecc.
  9. 9. PHP e MYSQL Ecco, la funzione, rispetto alcomando produce un risultato che viene generalmente salvato in una variabile.
  10. 10. PHP e MYSQL Ecco, la funzione, rispetto alcomando produce un risultato cheviene generalmente salvato in una variabile. Piu precisamente si dice che la funzione assume un valore (che può essere salvato in una variabile).
  11. 11. PHP e MYSQL Ecco un comando e unafunzione a confronto. echo è un comando, pow una funzione. // Comando: Echo “benvenuto nel mio sito!”; // Funzione: $potenza = pow($valore,2);
  12. 12. Per accedere aMYSQL e poterlo interrogare, PHP e MYSQL PHP mette a // Per connettersi a MySQLdisposizione una // mysqli_connect() sequenza di // funzioni. // Per aprire un database specifico // mysqli_select_db()Vi elenco qui lepiu importanti. // Per lanciare un comando SQL // mysqli_query()Prendete nota: // 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()
  13. 13. PHP e MYSQLVediamo adesso come poter usare le funzioni elencate.Le prenderemo in esame una pervolta in versione piu semplificata per noi. Se desiderate vedere lelenco 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
  14. 14. PHP e MYSQL Partiamo dalla prima da usare// Per connettersi a MySQL.// mysqli_connect(<server>,<utente>,<password>,<nomedb>)//// La funzione riceve quattro parametri:// <server> → lindirizzo del server (p.e 172.16.0.24)// <utente> → il nome dellutente registrato su MySQL// <password> → la password associata allutente// <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
  15. 15. 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);
  16. 16. PHP e MYSQL ...$db è la variabile che uso per salvare il risultato della chiamata alla funzione...// ******************************************************// La variabile $db è utilizzata per verificare// lesito 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>";
  17. 17. PHP e MYSQL Una 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 lapertura// del db non è andata in porto// b) TRUE (valore di tipo boolean) se lapertura// è andata in porto correttamente
  18. 18. PHP e MYSQL In questo caso non salvo il valore della funzione (perché non mi serve successivamente) e controllo lesito delloperazione 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 iparametri");}echo "<BR>";echo "fatta connessione db <BR>";
  19. 19. PHP e MYSQL Notate il fatto che la variabile $db, viene usata dora in poi per tutte le chiamate alle altre funzioni......if ( mysqli_select_db($db, $db_name) == FALSE).. $db serve infatti ad indicare quale connessione al DBMS utilizzare.
  20. 20. PHP e MYSQL Adesso 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";
  21. 21. PHP e MYSQL Il 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");}
  22. 22. PHP e MYSQL Il 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>";
  23. 23. 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 recordwhile ($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";
  24. 24. 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 recordwhile ($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";
  25. 25. PHP e MYSQL Potevo scrivere anche così:// Ciclo finchè è vero, cioè finché ci sono recordwhile ($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";
  26. 26. PHP e MYSQL Terminato loutput 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 gestirlomysqli_free_result($result);// Chiude la connessionemysqli_close($db);?></body></html>
  27. 27. Fine 28

×