|
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 >>
|