SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
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>
Fine


       28

Contenu connexe

Tendances

Tendances (6)

High Performance Web Apps con PHP e Symfony 2
High Performance Web Apps con PHP  e Symfony 2High Performance Web Apps con PHP  e Symfony 2
High Performance Web Apps con PHP e Symfony 2
 
Java lezione 10
Java lezione 10Java lezione 10
Java lezione 10
 
Interazione di PHP con Mysql
Interazione di PHP con Mysql Interazione di PHP con Mysql
Interazione di PHP con Mysql
 
Drupal 7 : theming avanzato
Drupal 7 : theming avanzatoDrupal 7 : theming avanzato
Drupal 7 : theming avanzato
 
As it e icloud
As it e icloudAs it e icloud
As it e icloud
 
Net core base
Net core baseNet core base
Net core base
 

En vedette

Php: riconoscere il dispositivo del client
Php: riconoscere il dispositivo del clientPhp: riconoscere il dispositivo del client
Php: riconoscere il dispositivo del clientHigh Secondary School
 
Php e database: creare relazioni fra tabelle
Php e database: creare relazioni fra tabellePhp e database: creare relazioni fra tabelle
Php e database: creare relazioni fra tabelleHigh Secondary School
 
Ecdl Modulo5 Database
Ecdl Modulo5 DatabaseEcdl Modulo5 Database
Ecdl Modulo5 DatabaseDenis Ruggeri
 
PHP, ricerca dati_in_file_sequenziali
PHP, ricerca dati_in_file_sequenzialiPHP, ricerca dati_in_file_sequenziali
PHP, ricerca dati_in_file_sequenzialiHigh Secondary School
 
Php e data_base_popolare_un_db_mysql
Php e data_base_popolare_un_db_mysqlPhp e data_base_popolare_un_db_mysql
Php e data_base_popolare_un_db_mysqlHigh Secondary School
 
Php e data base introduzione a mysql
Php e data base  introduzione a mysqlPhp e data base  introduzione a mysql
Php e data base introduzione a mysqlHigh Secondary School
 
Php e data base creare tabelle con mysql
Php e data base  creare tabelle con mysqlPhp e data base  creare tabelle con mysql
Php e data base creare tabelle con mysqlHigh Secondary School
 
PHP Introduzione a javascript e validazione
PHP Introduzione a javascript e validazionePHP Introduzione a javascript e validazione
PHP Introduzione a javascript e validazioneHigh Secondary School
 
Lezione WordPress Università degli Studi di Milano: Installazione e Gestione
Lezione WordPress Università degli Studi di Milano: Installazione e GestioneLezione WordPress Università degli Studi di Milano: Installazione e Gestione
Lezione WordPress Università degli Studi di Milano: Installazione e Gestionealessandro gasparotto
 
2 regole del corso tecniche di modellazione digitale – computer 3d
2 regole del corso tecniche di modellazione digitale – computer 3d2 regole del corso tecniche di modellazione digitale – computer 3d
2 regole del corso tecniche di modellazione digitale – computer 3dDaniele Francaviglia
 
Luigi ricca portfolio
Luigi ricca portfolioLuigi ricca portfolio
Luigi ricca portfolioLuigi Ricca
 
Corso PHP ENAIP - lezione #01 - 17/01/2014
Corso PHP ENAIP - lezione #01 - 17/01/2014Corso PHP ENAIP - lezione #01 - 17/01/2014
Corso PHP ENAIP - lezione #01 - 17/01/2014Matteo Moro
 
Portfolio of Expertise and Credentials
Portfolio of Expertise and CredentialsPortfolio of Expertise and Credentials
Portfolio of Expertise and CredentialsPortante Andrea
 
Presentazione Blog Università la Sapienza
Presentazione Blog Università la SapienzaPresentazione Blog Università la Sapienza
Presentazione Blog Università la Sapienzafabio73
 

En vedette (20)

Php: riconoscere il dispositivo del client
Php: riconoscere il dispositivo del clientPhp: riconoscere il dispositivo del client
Php: riconoscere il dispositivo del client
 
Php e database: creare relazioni fra tabelle
Php e database: creare relazioni fra tabellePhp e database: creare relazioni fra tabelle
Php e database: creare relazioni fra tabelle
 
Ecdl Modulo5 Database
Ecdl Modulo5 DatabaseEcdl Modulo5 Database
Ecdl Modulo5 Database
 
PHP, ricerca dati_in_file_sequenziali
PHP, ricerca dati_in_file_sequenzialiPHP, ricerca dati_in_file_sequenziali
PHP, ricerca dati_in_file_sequenziali
 
6.01 php ajax_json_mysql
6.01 php ajax_json_mysql6.01 php ajax_json_mysql
6.01 php ajax_json_mysql
 
Php e data_base_popolare_un_db_mysql
Php e data_base_popolare_un_db_mysqlPhp e data_base_popolare_un_db_mysql
Php e data_base_popolare_un_db_mysql
 
Php e data base introduzione a mysql
Php e data base  introduzione a mysqlPhp e data base  introduzione a mysql
Php e data base introduzione a mysql
 
Php e data base creare tabelle con mysql
Php e data base  creare tabelle con mysqlPhp e data base  creare tabelle con mysql
Php e data base creare tabelle con mysql
 
PHP Introduzione a javascript e validazione
PHP Introduzione a javascript e validazionePHP Introduzione a javascript e validazione
PHP Introduzione a javascript e validazione
 
Php e data base accedere a mysql
Php e data base  accedere a mysqlPhp e data base  accedere a mysql
Php e data base accedere a mysql
 
Database introduzione
Database introduzioneDatabase introduzione
Database introduzione
 
Lezione WordPress Università degli Studi di Milano: Installazione e Gestione
Lezione WordPress Università degli Studi di Milano: Installazione e GestioneLezione WordPress Università degli Studi di Milano: Installazione e Gestione
Lezione WordPress Università degli Studi di Milano: Installazione e Gestione
 
08 09 26 Hyves At Picnic
08 09 26 Hyves At Picnic08 09 26 Hyves At Picnic
08 09 26 Hyves At Picnic
 
2 regole del corso tecniche di modellazione digitale – computer 3d
2 regole del corso tecniche di modellazione digitale – computer 3d2 regole del corso tecniche di modellazione digitale – computer 3d
2 regole del corso tecniche di modellazione digitale – computer 3d
 
Creativity and graphic design 4
Creativity and graphic design 4Creativity and graphic design 4
Creativity and graphic design 4
 
Laboratori e Workshop
Laboratori e WorkshopLaboratori e Workshop
Laboratori e Workshop
 
Luigi ricca portfolio
Luigi ricca portfolioLuigi ricca portfolio
Luigi ricca portfolio
 
Corso PHP ENAIP - lezione #01 - 17/01/2014
Corso PHP ENAIP - lezione #01 - 17/01/2014Corso PHP ENAIP - lezione #01 - 17/01/2014
Corso PHP ENAIP - lezione #01 - 17/01/2014
 
Portfolio of Expertise and Credentials
Portfolio of Expertise and CredentialsPortfolio of Expertise and Credentials
Portfolio of Expertise and Credentials
 
Presentazione Blog Università la Sapienza
Presentazione Blog Università la SapienzaPresentazione Blog Università la Sapienza
Presentazione Blog Università la Sapienza
 

Similaire à Php e database: php mysql

Py a6 python-database
Py a6 python-databasePy a6 python-database
Py a6 python-databaseMajong DevJfu
 
Come Drupal costruisce le tue pagine
Come Drupal costruisce le tue pagineCome Drupal costruisce le tue pagine
Come Drupal costruisce le tue paginesparkfabrik
 
Progetto di Basi di Dati
Progetto di Basi di DatiProgetto di Basi di Dati
Progetto di Basi di Datisegarva
 
Programmazione web libera dai framework
Programmazione web libera dai frameworkProgrammazione web libera dai framework
Programmazione web libera dai frameworkFrancesca1980
 
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxProgettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxGiovanni Cappellini
 
Drupal diventa un CMF e WordPress che fa? Slide WordCamp Milano 2019
Drupal diventa un CMF e WordPress che fa? Slide WordCamp Milano 2019Drupal diventa un CMF e WordPress che fa? Slide WordCamp Milano 2019
Drupal diventa un CMF e WordPress che fa? Slide WordCamp Milano 2019Matteo Enna
 
Fare con Zend Framework 2 ciò che facevo con ZF1
Fare con Zend Framework 2 ciò che facevo con ZF1Fare con Zend Framework 2 ciò che facevo con ZF1
Fare con Zend Framework 2 ciò che facevo con ZF1Steve Maraspin
 
Introduzione a Node.js
Introduzione a Node.jsIntroduzione a Node.js
Introduzione a Node.jsMichele Capra
 
Mantenere una distribuzione Drupal attraverso test coverage: Paddle case study
Mantenere una distribuzione Drupal attraverso test coverage: Paddle case studyMantenere una distribuzione Drupal attraverso test coverage: Paddle case study
Mantenere una distribuzione Drupal attraverso test coverage: Paddle case studyDrupalDay
 
Dominare il codice legacy
Dominare il codice legacyDominare il codice legacy
Dominare il codice legacyTommaso Torti
 
The Hitchhiker's Guide to testable code: semplici regole per scrivere codice ...
The Hitchhiker's Guide to testable code: semplici regole per scrivere codice ...The Hitchhiker's Guide to testable code: semplici regole per scrivere codice ...
The Hitchhiker's Guide to testable code: semplici regole per scrivere codice ...Davide Cerbo
 
SaaS con Symfony2 un caso *molto* concreto di applicazione multitenant
SaaS con Symfony2 un caso *molto* concreto di applicazione multitenantSaaS con Symfony2 un caso *molto* concreto di applicazione multitenant
SaaS con Symfony2 un caso *molto* concreto di applicazione multitenantTassi Francesco
 

Similaire à Php e database: php mysql (20)

Py a6 python-database
Py a6 python-databasePy a6 python-database
Py a6 python-database
 
Come Drupal costruisce le tue pagine
Come Drupal costruisce le tue pagineCome Drupal costruisce le tue pagine
Come Drupal costruisce le tue pagine
 
introduzione a symfony 2
introduzione a symfony 2 introduzione a symfony 2
introduzione a symfony 2
 
Progetto di Basi di Dati
Progetto di Basi di DatiProgetto di Basi di Dati
Progetto di Basi di Dati
 
Programmazione web libera dai framework
Programmazione web libera dai frameworkProgrammazione web libera dai framework
Programmazione web libera dai framework
 
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxProgettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
 
Drupal diventa un CMF e WordPress che fa? Slide WordCamp Milano 2019
Drupal diventa un CMF e WordPress che fa? Slide WordCamp Milano 2019Drupal diventa un CMF e WordPress che fa? Slide WordCamp Milano 2019
Drupal diventa un CMF e WordPress che fa? Slide WordCamp Milano 2019
 
Html5 e PHP
Html5 e PHPHtml5 e PHP
Html5 e PHP
 
SaaS con Symfony2
SaaS con Symfony2SaaS con Symfony2
SaaS con Symfony2
 
Fare con Zend Framework 2 ciò che facevo con ZF1
Fare con Zend Framework 2 ciò che facevo con ZF1Fare con Zend Framework 2 ciò che facevo con ZF1
Fare con Zend Framework 2 ciò che facevo con ZF1
 
Laravel Framework PHP
Laravel Framework PHPLaravel Framework PHP
Laravel Framework PHP
 
Introduzione a node.js
Introduzione a node.jsIntroduzione a node.js
Introduzione a node.js
 
Introduzione a Node.js
Introduzione a Node.jsIntroduzione a Node.js
Introduzione a Node.js
 
Mantenere una distribuzione Drupal attraverso test coverage: Paddle case study
Mantenere una distribuzione Drupal attraverso test coverage: Paddle case studyMantenere una distribuzione Drupal attraverso test coverage: Paddle case study
Mantenere una distribuzione Drupal attraverso test coverage: Paddle case study
 
Dominare il codice legacy
Dominare il codice legacyDominare il codice legacy
Dominare il codice legacy
 
The Hitchhiker's Guide to testable code: semplici regole per scrivere codice ...
The Hitchhiker's Guide to testable code: semplici regole per scrivere codice ...The Hitchhiker's Guide to testable code: semplici regole per scrivere codice ...
The Hitchhiker's Guide to testable code: semplici regole per scrivere codice ...
 
SaaS con Symfony2 un caso *molto* concreto di applicazione multitenant
SaaS con Symfony2 un caso *molto* concreto di applicazione multitenantSaaS con Symfony2 un caso *molto* concreto di applicazione multitenant
SaaS con Symfony2 un caso *molto* concreto di applicazione multitenant
 
Java 04
Java 04Java 04
Java 04
 
Office & VBA - Giorno 6
Office & VBA - Giorno 6Office & VBA - Giorno 6
Office & VBA - Giorno 6
 
PHP
PHPPHP
PHP
 

Plus de High Secondary School

PHP: programmi gestionali, introduzione
PHP: programmi gestionali, introduzionePHP: programmi gestionali, introduzione
PHP: programmi gestionali, introduzioneHigh Secondary School
 
Una bottega del Commercio Equo & Solidale
Una bottega del Commercio Equo & SolidaleUna bottega del Commercio Equo & Solidale
Una bottega del Commercio Equo & SolidaleHigh Secondary School
 
Comunità Scolastiche Sostenibili 2007
Comunità Scolastiche Sostenibili 2007Comunità Scolastiche Sostenibili 2007
Comunità Scolastiche Sostenibili 2007High Secondary School
 
Visual Basic, modulo e sottoprocedure
Visual Basic, modulo e sottoprocedureVisual Basic, modulo e sottoprocedure
Visual Basic, modulo e sottoprocedureHigh Secondary School
 
Programmare In Visual Basic, prima lezione
Programmare In Visual Basic, prima lezioneProgrammare In Visual Basic, prima lezione
Programmare In Visual Basic, prima lezioneHigh Secondary School
 
Comunità Scolastiche Sostenibili 2007/2008
Comunità Scolastiche Sostenibili 2007/2008Comunità Scolastiche Sostenibili 2007/2008
Comunità Scolastiche Sostenibili 2007/2008High Secondary School
 
Comunità Scolastiche Sostenibili 2006/2007
Comunità Scolastiche Sostenibili 2006/2007 Comunità Scolastiche Sostenibili 2006/2007
Comunità Scolastiche Sostenibili 2006/2007 High Secondary School
 

Plus de High Secondary School (20)

Da html in_poi, verso PHP
Da html in_poi, verso PHPDa html in_poi, verso PHP
Da html in_poi, verso PHP
 
PHP: gestione file sequenziale
PHP: gestione file sequenzialePHP: gestione file sequenziale
PHP: gestione file sequenziale
 
PHP: programmi gestionali, introduzione
PHP: programmi gestionali, introduzionePHP: programmi gestionali, introduzione
PHP: programmi gestionali, introduzione
 
Visual basic: odbc su MySql
Visual basic: odbc su MySqlVisual basic: odbc su MySql
Visual basic: odbc su MySql
 
Dal cacao al cioccolato
Dal cacao al cioccolatoDal cacao al cioccolato
Dal cacao al cioccolato
 
Una bottega del Commercio Equo & Solidale
Una bottega del Commercio Equo & SolidaleUna bottega del Commercio Equo & Solidale
Una bottega del Commercio Equo & Solidale
 
Comunità Scolastiche Sostenibili 2007
Comunità Scolastiche Sostenibili 2007Comunità Scolastiche Sostenibili 2007
Comunità Scolastiche Sostenibili 2007
 
Visual Basic, Equazioni Sec Grado
Visual Basic, Equazioni Sec GradoVisual Basic, Equazioni Sec Grado
Visual Basic, Equazioni Sec Grado
 
Visual Basic, modulo e sottoprocedure
Visual Basic, modulo e sottoprocedureVisual Basic, modulo e sottoprocedure
Visual Basic, modulo e sottoprocedure
 
VB Cicli Lavoro Repeat
VB  Cicli  Lavoro  RepeatVB  Cicli  Lavoro  Repeat
VB Cicli Lavoro Repeat
 
Blog Riferimenti Risorse (4)
Blog Riferimenti Risorse (4)Blog Riferimenti Risorse (4)
Blog Riferimenti Risorse (4)
 
Blog Cosa E'?
Blog Cosa E'?Blog Cosa E'?
Blog Cosa E'?
 
Blog Creazione
Blog CreazioneBlog Creazione
Blog Creazione
 
Blog Manutenzione
Blog ManutenzioneBlog Manutenzione
Blog Manutenzione
 
Contenuti WEB creati dagli Utenti
Contenuti WEB creati dagli UtentiContenuti WEB creati dagli Utenti
Contenuti WEB creati dagli Utenti
 
Programmare In Visual Basic, prima lezione
Programmare In Visual Basic, prima lezioneProgrammare In Visual Basic, prima lezione
Programmare In Visual Basic, prima lezione
 
Funzione se Incapsulata
Funzione se IncapsulataFunzione se Incapsulata
Funzione se Incapsulata
 
Supermercato
SupermercatoSupermercato
Supermercato
 
Comunità Scolastiche Sostenibili 2007/2008
Comunità Scolastiche Sostenibili 2007/2008Comunità Scolastiche Sostenibili 2007/2008
Comunità Scolastiche Sostenibili 2007/2008
 
Comunità Scolastiche Sostenibili 2006/2007
Comunità Scolastiche Sostenibili 2006/2007 Comunità Scolastiche Sostenibili 2006/2007
Comunità Scolastiche Sostenibili 2006/2007
 

Dernier

Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoyanmeng831
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileNicola Rabbi
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxlorenzodemidio01
 
Confronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptConfronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptcarlottagalassi
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxtecongo2007
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaSalvatore Cianciabella
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxlorenzodemidio01
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxtecongo2007
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxtecongo2007
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxlorenzodemidio01
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxlorenzodemidio01
 

Dernier (11)

Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceo
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibile
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
 
Confronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptConfronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.ppt
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptx
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione Civica
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptx
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptx
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptx
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
 

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>
  • 27.
  • 28. Fine 28