Homepage Site Map


   
PROGRAMMAZIONE
   FARE WEB
   HTML
   CSS
   PHP
   MySQL
   XML - XSL
GRAFICA
   PAINT SHOP
   ANIMATION SHOP
   SWISH
   SWISHMAX
SCRIPT
   JAVASCRIPT
   PHP
   APPLET JAVA
   CSS GENERATOR
   WEB TOOLS
DOWNLOAD
   FONTS
   ICONE E AVATAR
   SMILES
   GIF ANIMATE
   CURSORI
   CALENDARI
   KAOANI
   BASI BANNER
   SCREENMATES
   MEEGOS
   GIOCHI
   VIDEO E PPS
ARTICOLI
   ARTICOLI
   GUADAGNA SITO
LINKS
   LINK TO ME
   VOTAMI
   SCAMBIO LINK
   SCAMBIO BANNER


 
  

Home -> Manuali e Tutorials -> Guida PHP -> Php MySQL  (3/3)


Scarica il tutorial      |    Stampa il tutorial      |    Cerca nel sito      



PHP e MySQL: ESEMPI - USO DELLA LIBRERIA MYSQLI



Ora vediamo gli stessi esempi visti nella precedente pagina, usando però la nuova libreria del PHP 5: mysqli. La novità introdotta da mysqli sta sicuramente nel fatto che questa libreria può essere usata sia con un normale approccio procedurale (troviamo quindi le stesse funzioni di "mysql_") e sia con un approccio ad oggetti, in quanto nel PHP 5 viene introdotta la classe mysqli, che si occupa proprio della connessione e dell'eseguimento di query su di un database MySQL attraverso il PHP, e della classe mysql_result che si occupa invece della gestione dei risultanti di una query. Scorrendo quindi le funzioni native e procedurali del PHP possiamo trovare una corrispondenza con le proprietà di queste classi; per cui alla vecchia funzione "mysql_query", ora corrisponde la funzione "mysqli_query" e il metodo equivalente "mysqli::query".

Per questo motivo di seguito sono mostrati gli stessi esempi sia con un approccio "procedurale" e sia con un approccio ad oggetti.


Approccio procedurale

Di seguito è mostrato l'uso delle funzioni necessarie per la connessione e relativa chiusura.


<?php
$connessione = mysqli_connect("localhost","root","","dbtest")
   or die("Connessione non riuscita: ".mysqli_connect_error());
print("Identificativo di Connessione : ".$connessione);
mysqli_close($connessione);
?>


Di seguito, invece, è mostrato un altro esempio: supponendo di avere il solito database rubrica, con la tabella nomi contenente appunto solo i nomi, si vuole printare l'elenco di tutti i nomi presenti nel database.


<?php
$connessione = mysqli_connect("localhost","root","","rubrica");
if (mysqli_connect_errno()) {
        echo("Errore durante la connessione al server MySQL");
        exit();
}
else {
        echo("Connessione effettuata con successo");
}
$risultato = mysqli_query("SELECT * FROM nomi",$connessione);
while($riga=mysqli_fetch_assoc($risultato))
{
        echo("ID: ".$riga['id']." NOME: ".$riga['nome']."<br>");
}
mysqli_free_result($risultato);
mysqli_close($connessione);
?>


Da questi esempi, possiamo vedere che le funzioni sono essenzialmente le stesse di quelle della libreria mysql, con l'unica differenza sostanziale che mysqli_connect riceve come parametro anche il nome del database e l'eventuale porta di connessione e la funzione mysqli_fetch_assoc ritorna direttamente un array "associato" (cioè contenente i nomi dei campi come chiavi e come valori di questi, i valori effettivi contenuti nel database).


Approccio procedurale

Vediamo direttamente l'ultimo esempio più completo, introducendo il concetto di classe o oggetto (vi rimando alla pagina della guida per approfondimenti in merito).


<?php
$mysqli = new mysqli("localhost','root','','rubrica');
if (mysqli_connect_errno()) {
        echo("Errore durante la connessione al server MySQL");
        exit();
}
else {
        echo("Connessione effettuata con successo");
}
$risultato = $mysqli->query("SELECT * FROM nomi");
while($riga = $risultato->fetch_assoc())
{
        echo("ID: ".$riga['id']." NOME: ".$riga['nome']."<br>");
}
$risultato->close();
$mysqli->close();
?>


Da notare il differente modo di richiamare le funzioni, tipico proprio di un approccio ad oggetti, identificato dalla prima riga del codice (istanza della classe mysqli). Altra differenza è il modo in cui viene liberata la memoria dalla variabile $risultato: la funzione close() corrisponde infatti alla vecchia mysql_free_result().





Torna su      |    Indice Guida      |    Pagina << 14 >>    



 


Cynegi Network

   

Vai al W3C CSS Validator toolkit.
Realizzato con PHP. Vai al sito ufficiale del PHP.
Testato anche con Mozilla Firefox. Vai al sito ufficiale.

Home     Contacts     Forum     FAQ     Newsletter     Mappa     Cerca     Link to me

  Vedi gli RSS del sito.      

-->  [Il tuo link qui]