SlideShare a Scribd company logo
PHP e MYSQL
                Lo so, adesso non vedete l'ora
                di sviluppare una pagina WEB
                che visualizza l'elenco dei libri
                        della biblioteca.




Stefano Floris,                          Realizzare programmi gestionali in ambiente
Versione fabbraio 2012a                              WEB con HTML e PHP
                                         Pubblicato su
                                         www.troppocurioso.altervista.org
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 sito
http://www.creativecommons.it/Licenze

Stefano Floris, 2011
www.troppocurioso.altervista.org
PHP e MYSQL
 Prendete nota delle
 funzioni PHP che
imparerete ad usare.
PHP e MYSQL
 Prendete nota delle
 funzioni PHP che
imparerete ad usare.

         A proposito, sapete cosa
            sono le funzioni?.
PHP e MYSQL
 y=f(x)

 Esatto, avete capito bene. Il
  concetto è mutuato dalla
         matematica.
PHP e MYSQL
 y=f(x)

  Esatto, avete capito bene. Il
   concetto è mutuato dalla
          matematica.
        f è la funzione.
PHP e MYSQL
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.

             Voi, per esempio, se siete
              arrivati fin qui conoscete
          sicuramente i comandi echo, if,
                    for ecc. ecc.
PHP e MYSQL
    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.

           Piu' precisamente si dice che
             la funzione assume un
              valore (che può essere
             salvato in una variabile).
PHP e MYSQL
  Ecco un comando e una
funzione a confronto. echo
  è un comando, pow una
         funzione.

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


                   // Funzione:
                   $potenza = pow($valore,2);
Per accedere a
MYSQL e poterlo
  interrogare,          PHP e MYSQL
  PHP mette a
                   //   Per connettersi a MySQL
disposizione una
                   //   mysqli_connect()
   sequenza di
                   //
    funzioni.
                   //   Per aprire un database specifico
                   //   mysqli_select_db()
Vi elenco qui le
piu' 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()
PHP e MYSQL
Vediamo 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 MYSQL
                               Partiamo 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 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 l'apertura
//            del db non è andata in porto
//   b) TRUE (valore di tipo boolean) se l'apertura
//             è andata in porto correttamente
PHP e MYSQL
     In 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 MYSQL
                          Notate il fatto che la variabile
                          $db, viene usata d'ora 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.
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";
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");
}
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>";
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 MYSQL
              Potevo 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 MYSQL
  Terminato 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>
Php e database: php mysql
Fine


       28

More Related Content

What's hot (8)

PDF
LLMNR ve NetBIOS Poisoning
BGA Cyber Security
 
PDF
Lie to Me: Bypassing Modern Web Application Firewalls
Ivan Novikov
 
PPTX
advanced sql(database)
welcometofacebook
 
PDF
Triggers o disparadores en MySQL
Jair Ospino Ardila
 
PPTX
DBA BAB 5 - Keamanan Database
Riza Nurman
 
PPTX
Clasificando los sistemas gestores de base de datos
José Antonio Orozco Ávila
 
PDF
6 subnetting
Dhan junkie
 
LLMNR ve NetBIOS Poisoning
BGA Cyber Security
 
Lie to Me: Bypassing Modern Web Application Firewalls
Ivan Novikov
 
advanced sql(database)
welcometofacebook
 
Triggers o disparadores en MySQL
Jair Ospino Ardila
 
DBA BAB 5 - Keamanan Database
Riza Nurman
 
Clasificando los sistemas gestores de base de datos
José Antonio Orozco Ávila
 
6 subnetting
Dhan junkie
 

Viewers also liked (20)

PDF
Php: riconoscere il dispositivo del client
High Secondary School
 
PDF
Php e database: creare relazioni fra tabelle
High Secondary School
 
PDF
Ecdl Modulo5 Database
Denis Ruggeri
 
PDF
PHP, ricerca dati_in_file_sequenziali
High Secondary School
 
PDF
6.01 php ajax_json_mysql
High Secondary School
 
PDF
Php e data_base_popolare_un_db_mysql
High Secondary School
 
PDF
Php e data base introduzione a mysql
High Secondary School
 
PDF
Php e data base creare tabelle con mysql
High Secondary School
 
PDF
PHP Introduzione a javascript e validazione
High Secondary School
 
PDF
Php e data base accedere a mysql
High Secondary School
 
PPTX
Database introduzione
ninbarslideshare
 
PDF
Lezione WordPress Università degli Studi di Milano: Installazione e Gestione
alessandro gasparotto
 
PPT
08 09 26 Hyves At Picnic
Jeroen De Bakker
 
PDF
2 regole del corso tecniche di modellazione digitale – computer 3d
Daniele Francaviglia
 
PDF
Creativity and graphic design 4
Daniele Francaviglia
 
PDF
Laboratori e Workshop
Portante Andrea
 
PDF
Luigi ricca portfolio
Luigi Ricca
 
PDF
Corso PHP ENAIP - lezione #01 - 17/01/2014
Matteo Moro
 
PDF
Portfolio of Expertise and Credentials
Portante Andrea
 
ODP
Presentazione Blog Università la Sapienza
fabio73
 
Php: riconoscere il dispositivo del client
High Secondary School
 
Php e database: creare relazioni fra tabelle
High Secondary School
 
Ecdl Modulo5 Database
Denis Ruggeri
 
PHP, ricerca dati_in_file_sequenziali
High Secondary School
 
6.01 php ajax_json_mysql
High Secondary School
 
Php e data_base_popolare_un_db_mysql
High Secondary School
 
Php e data base introduzione a mysql
High Secondary School
 
Php e data base creare tabelle con mysql
High Secondary School
 
PHP Introduzione a javascript e validazione
High Secondary School
 
Php e data base accedere a mysql
High Secondary School
 
Database introduzione
ninbarslideshare
 
Lezione WordPress Università degli Studi di Milano: Installazione e Gestione
alessandro gasparotto
 
08 09 26 Hyves At Picnic
Jeroen De Bakker
 
2 regole del corso tecniche di modellazione digitale – computer 3d
Daniele Francaviglia
 
Creativity and graphic design 4
Daniele Francaviglia
 
Laboratori e Workshop
Portante Andrea
 
Luigi ricca portfolio
Luigi Ricca
 
Corso PHP ENAIP - lezione #01 - 17/01/2014
Matteo Moro
 
Portfolio of Expertise and Credentials
Portante Andrea
 
Presentazione Blog Università la Sapienza
fabio73
 
Ad

Similar to Php e database: php mysql (20)

ODP
Interazione di PHP con Mysql
I.S.I.S. "Antonio Serra" - Napoli
 
PDF
Componenti dello stack LAMP - PHP, il linguaggio, l'installazione - MySQL, in...
Fulvio Corno
 
PDF
Php mysql3
orestJump
 
PDF
Laboratorio Di Basi Di Dati 11 P H P Interazione Con I D B M S
guestbe916c
 
PDF
Php mysql e cms
orestJump
 
PDF
Laboratorio Di Basi Di Dati 09 Il Linguaggio P H P
guestbe916c
 
PDF
Gianfrasoft Corso Di Php Parte 1
Gianfranco Fedele
 
PPT
Php e mysql (primi passi)
Sergio Roselli ✫✫✫
 
PPT
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Giovanni Cappellini
 
PDF
Maria Grazia Maffucci- programmazione presentazione
Maria Grazia Maffucci
 
PDF
Gianfrasoft Corso Di Php Parte 2
Gianfranco Fedele
 
ODP
Lamp Ld2008
Università di Siena
 
PPTX
Php concetti chiave di base
Walter Liguori
 
PDF
Py a6 python-database
Majong DevJfu
 
PDF
Laboratorio Di Basi Di Dati 07 Programmazione Web Lato Server
guestbe916c
 
PDF
Sicurezza Php (giugno 2010) Stefano Bianchini presso Ce.Se.N.A.
Stefano Bianchini
 
PDF
Corso PHP ENAIP - lezione #05 - 04/02/2014
Matteo Moro
 
PDF
Laboratorio Di Basi Di Dati 01 Introduzione
guestbe916c
 
PPT
Introduzione al linguaggio PHP
extrategy
 
ODP
Mysql phpmyadmin
floriana93
 
Interazione di PHP con Mysql
I.S.I.S. "Antonio Serra" - Napoli
 
Componenti dello stack LAMP - PHP, il linguaggio, l'installazione - MySQL, in...
Fulvio Corno
 
Php mysql3
orestJump
 
Laboratorio Di Basi Di Dati 11 P H P Interazione Con I D B M S
guestbe916c
 
Php mysql e cms
orestJump
 
Laboratorio Di Basi Di Dati 09 Il Linguaggio P H P
guestbe916c
 
Gianfrasoft Corso Di Php Parte 1
Gianfranco Fedele
 
Php e mysql (primi passi)
Sergio Roselli ✫✫✫
 
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Giovanni Cappellini
 
Maria Grazia Maffucci- programmazione presentazione
Maria Grazia Maffucci
 
Gianfrasoft Corso Di Php Parte 2
Gianfranco Fedele
 
Php concetti chiave di base
Walter Liguori
 
Py a6 python-database
Majong DevJfu
 
Laboratorio Di Basi Di Dati 07 Programmazione Web Lato Server
guestbe916c
 
Sicurezza Php (giugno 2010) Stefano Bianchini presso Ce.Se.N.A.
Stefano Bianchini
 
Corso PHP ENAIP - lezione #05 - 04/02/2014
Matteo Moro
 
Laboratorio Di Basi Di Dati 01 Introduzione
guestbe916c
 
Introduzione al linguaggio PHP
extrategy
 
Mysql phpmyadmin
floriana93
 
Ad

More from High Secondary School (20)

PDF
Da html in_poi, verso PHP
High Secondary School
 
PDF
PHP: gestione file sequenziale
High Secondary School
 
PDF
PHP: programmi gestionali, introduzione
High Secondary School
 
ODP
Visual basic: odbc su MySql
High Secondary School
 
PDF
Dal cacao al cioccolato
High Secondary School
 
ODP
Una bottega del Commercio Equo & Solidale
High Secondary School
 
PPT
Comunità Scolastiche Sostenibili 2007
High Secondary School
 
PPT
Visual Basic, Equazioni Sec Grado
High Secondary School
 
PPT
Visual Basic, modulo e sottoprocedure
High Secondary School
 
PPT
VB Cicli Lavoro Repeat
High Secondary School
 
PPT
Blog Riferimenti Risorse (4)
High Secondary School
 
PPT
Blog Cosa E'?
High Secondary School
 
PPT
Blog Creazione
High Secondary School
 
PPT
Blog Manutenzione
High Secondary School
 
PPT
Contenuti WEB creati dagli Utenti
High Secondary School
 
PPT
Programmare In Visual Basic, prima lezione
High Secondary School
 
PPT
Funzione se Incapsulata
High Secondary School
 
PPT
Supermercato
High Secondary School
 
PPT
Comunità Scolastiche Sostenibili 2007/2008
High Secondary School
 
PPT
Comunità Scolastiche Sostenibili 2006/2007
High Secondary School
 
Da html in_poi, verso PHP
High Secondary School
 
PHP: gestione file sequenziale
High Secondary School
 
PHP: programmi gestionali, introduzione
High Secondary School
 
Visual basic: odbc su MySql
High Secondary School
 
Dal cacao al cioccolato
High Secondary School
 
Una bottega del Commercio Equo & Solidale
High Secondary School
 
Comunità Scolastiche Sostenibili 2007
High Secondary School
 
Visual Basic, Equazioni Sec Grado
High Secondary School
 
Visual Basic, modulo e sottoprocedure
High Secondary School
 
VB Cicli Lavoro Repeat
High Secondary School
 
Blog Riferimenti Risorse (4)
High Secondary School
 
Blog Cosa E'?
High Secondary School
 
Blog Creazione
High Secondary School
 
Blog Manutenzione
High Secondary School
 
Contenuti WEB creati dagli Utenti
High Secondary School
 
Programmare In Visual Basic, prima lezione
High Secondary School
 
Funzione se Incapsulata
High Secondary School
 
Supermercato
High Secondary School
 
Comunità Scolastiche Sostenibili 2007/2008
High Secondary School
 
Comunità Scolastiche Sostenibili 2006/2007
High Secondary School
 

Recently uploaded (20)

PPTX
Sant'Enrico II, (972-1024), Imperatore del Sacro Romano Impero.pptx
Martin M Flynn
 
PDF
18 ĐỀ KIỂM TRA TIẾNG ANH I-LEARN SMART WORLD 7 NĂM 2024 CÓ LỜI GIẢI, FILE NGH...
Nguyen Thanh Tu Collection
 
PDF
Galatians Verse By Verse 1st Edition Grant R Osborne
hndmlbx602
 
PDF
The Gilded Age A Tale Of Today Mark Twain Charles Dudley Warner
mlrthmn609
 
PDF
Macroeconomics Principles Applications and Tools 8th Edition OSullivan Soluti...
dvbnrnua706
 
PDF
Core Concepts of Accounting Information Systems 14th Edition Simkin Test Bank
uxtjmnkih5329
 
PDF
Cam Jansen Mysteries 32 The Millionaire Mystery Adler David A
hmntcuynmd528
 
PDF
Encounters In The Woods Volume One Hayes Ethan
znbgzyfvq457
 
PDF
Irrigation Theory And Practice 2nd Edn Paperback Jan 01 2008 A M Michael 2nd ...
zhboyoe7317
 
PDF
Groovecoordination For Drum Set Volume 1 Andr Oettel
nhneghzysj938
 
PDF
Calculus for Engineers 4th Edition Trim Solutions Manual
uettildgul662
 
PDF
Computer Accounting with QuickBooks Online 1st Edition Kay Test Bank
hkmqlqbqch8824
 
PPTX
Camillo de Lellis, Fondatore dei Camilliani, (1550 – 1614).pptx
Martin M Flynn
 
PDF
Design of Normal Concrete Mixes BR 331 Ci Sfb 2nd Edition D.C. Teychenne
fhfeltmvfh471
 
PDF
certificate-personalized-capsule-excipients-standardization-improved-formulat...
M. Luisetto Pharm.D.Spec. Pharmacology
 
PPTX
Come progettare una videoclip su un argomento scelto
giocoscuola
 
PDF
Principles of Macroeconomics 6th Edition Mankiw Solutions Manual
sxibiti690
 
PDF
A Work In Progress A Memoir Franta Connor
dzryqlnz7834
 
PDF
Macroeconomics 13th Edition Parkin Test Bank
dfehpsepb7021
 
PDF
Light Vehicle Diesel Engines 1st Edition Halderman Solutions Manual
nijwccffzp991
 
Sant'Enrico II, (972-1024), Imperatore del Sacro Romano Impero.pptx
Martin M Flynn
 
18 ĐỀ KIỂM TRA TIẾNG ANH I-LEARN SMART WORLD 7 NĂM 2024 CÓ LỜI GIẢI, FILE NGH...
Nguyen Thanh Tu Collection
 
Galatians Verse By Verse 1st Edition Grant R Osborne
hndmlbx602
 
The Gilded Age A Tale Of Today Mark Twain Charles Dudley Warner
mlrthmn609
 
Macroeconomics Principles Applications and Tools 8th Edition OSullivan Soluti...
dvbnrnua706
 
Core Concepts of Accounting Information Systems 14th Edition Simkin Test Bank
uxtjmnkih5329
 
Cam Jansen Mysteries 32 The Millionaire Mystery Adler David A
hmntcuynmd528
 
Encounters In The Woods Volume One Hayes Ethan
znbgzyfvq457
 
Irrigation Theory And Practice 2nd Edn Paperback Jan 01 2008 A M Michael 2nd ...
zhboyoe7317
 
Groovecoordination For Drum Set Volume 1 Andr Oettel
nhneghzysj938
 
Calculus for Engineers 4th Edition Trim Solutions Manual
uettildgul662
 
Computer Accounting with QuickBooks Online 1st Edition Kay Test Bank
hkmqlqbqch8824
 
Camillo de Lellis, Fondatore dei Camilliani, (1550 – 1614).pptx
Martin M Flynn
 
Design of Normal Concrete Mixes BR 331 Ci Sfb 2nd Edition D.C. Teychenne
fhfeltmvfh471
 
certificate-personalized-capsule-excipients-standardization-improved-formulat...
M. Luisetto Pharm.D.Spec. Pharmacology
 
Come progettare una videoclip su un argomento scelto
giocoscuola
 
Principles of Macroeconomics 6th Edition Mankiw Solutions Manual
sxibiti690
 
A Work In Progress A Memoir Franta Connor
dzryqlnz7834
 
Macroeconomics 13th Edition Parkin Test Bank
dfehpsepb7021
 
Light Vehicle Diesel Engines 1st Edition Halderman Solutions Manual
nijwccffzp991
 

Php e database: php mysql

  • 1. PHP e MYSQL Lo so, adesso non vedete l'ora di sviluppare una pagina WEB che visualizza l'elenco dei libri della biblioteca. Stefano Floris, Realizzare programmi gestionali in ambiente Versione fabbraio 2012a WEB con HTML e PHP Pubblicato su www.troppocurioso.altervista.org
  • 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 sito http://www.creativecommons.it/Licenze Stefano Floris, 2011 www.troppocurioso.altervista.org
  • 3. PHP e MYSQL Prendete nota delle funzioni PHP che imparerete ad usare.
  • 4. PHP e MYSQL Prendete nota delle funzioni PHP che imparerete ad usare. A proposito, sapete cosa sono le funzioni?.
  • 5. PHP e MYSQL y=f(x) Esatto, avete capito bene. Il concetto è mutuato dalla matematica.
  • 6. PHP e MYSQL y=f(x) Esatto, avete capito bene. Il concetto è mutuato dalla matematica. f è la funzione.
  • 7. PHP e MYSQL Piu' semplicemente vi dirò che una funzione è quasi come un comando.
  • 8. PHP e MYSQL Piu' 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. PHP e MYSQL Ecco, la funzione, rispetto al comando produce un risultato che viene generalmente salvato in una variabile.
  • 10. PHP e MYSQL Ecco, la funzione, rispetto al comando produce un risultato che viene generalmente salvato in una variabile. Piu' precisamente si dice che la funzione assume un valore (che può essere salvato in una variabile).
  • 11. PHP e MYSQL Ecco un comando e una funzione a confronto. echo è un comando, pow una funzione. // Comando: Echo “benvenuto nel mio sito!”; // Funzione: $potenza = pow($valore,2);
  • 12. Per accedere a MYSQL e poterlo interrogare, PHP e MYSQL PHP mette a // Per connettersi a MySQL disposizione una // mysqli_connect() sequenza di // funzioni. // Per aprire un database specifico // mysqli_select_db() Vi elenco qui le piu' 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. PHP e MYSQL Vediamo 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
  • 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> → 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
  • 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. 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>";
  • 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 l'apertura // del db non è andata in porto // b) TRUE (valore di tipo boolean) se l'apertura // è andata in porto correttamente
  • 18. PHP e MYSQL In 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>";
  • 19. PHP e MYSQL Notate il fatto che la variabile $db, viene usata d'ora 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. 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. 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. 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. 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";
  • 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 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";
  • 25. PHP e MYSQL Potevo 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";
  • 26. PHP e MYSQL Terminato 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. Fine 28