Con questo ultimo articolo si chiude, per ora, la nostra serie dedicata a MySQL.
Concludiamo in bellezza con un esempio in PHP.
Un esempio in PHP
Questa tecnologia mette a disposizione numerose funzioni per la connessione con MySQL, tutte presenti nel manuale ufficiale di questo linguaggio. Come già detto nell'articolo precedente, non c'è bisogno di driver esterni per accedere a questo database essendo già inclusi nel linguaggio stesso. Le principali funzioni sono:
- - E' la funzione che permette di accedere a MySQL. Come primo parametro inseriremo il nome del server, notoriamente ?localhost?; come nome utente ?root? che è l'utente di default e come password ?aspitalia? se si è seguito l'esempio in questo articolo.
$Connessione=mysql_connect($server,$user,$password);
- - Con questa funzione selezioniamo direttamente il database di MySQL da utilizzare presente, ?esempio? nel nostro caso o qualsiasi altro presente visibile dalla shell di MySQL con il comando: ?show databasese;?. Il secondo parametro è la connessione precedentemente aperta verso il server.
$database=mysql_select_db($name_db,$connessione);
- - Con questa funzione effettuiamo la query. Il primo parametro è una stringa contente i comandi SQL (?select?,?update?,?insert?,?delete?); il secondo parametro è la connessione aperta inizialmente.
$tutto=mysql_query($sql,$connessione);
- - Libera la memoria e le risorse del computer dalla query effettuata.
Mysql_free_result($tutto);
- - Chiude la connessione con MySQL.
Mysql_close($connessione);
- - Questa funzione restituisce il numero di campi della query ?select? memorizzata in $tutto.
cols=mysql_num_fields($tutto);
- - Questa funzione restituisce il numero di record della query ?select? memorizzata in $tutto.
rows=mysql_num_rows($tutto);
Qui di seguito è presente l'esempio ASP dell'articolo precedente convertito in PHP (vis.php):
<h1 align=center>Prova di connessione al server MYSQL</h1> <? if (empty($page)) $page=1; ?> <center> <a href="vis.php?page=<?=$page-1?>">Pag.-</a> <a href="vis.php?page=<?=$page+1?>">Pag.+</a> <? $name_server="localhost"; $name_db="esempio"; $nome_utente="root"; $password="aspitalia"; // $inizio=($page-1)*30; $connessione=mysql_connect($name_server,$name_utente,$password); $database=mysql_select_db($name_db,$connessione); $sql="select * from archivio LIMIT $inizio, 30;"; $tutto=mysql_query($sql,$connessione); echo "<table border=1 align=center width=100%>"; while ($valori=mysql_fetch_array($tutto)) { echo "<tr>"; for ($i=0;$i< mysql_num_fields($tutto);$i++) echo ?<td>$valori[$i]</td>?; echo "</tr>"; } echo "</table>"; mysql_free_result($tutto); mysql_close($connessione); ?>
Una spiegazione merita la funzione ?mysql_fetch_array? presente in questo listato. Essa inserisce il contenuto della tabella in un array per una più semplice trattamento dei dati.
while ($valori=mysql_fetch_array($tutto)) { ? }
La funzione creerà l'array $valori in cui sarà contenuta una riga di una tabella ad ogni ciclo della funzione while.
MySQL vs Access vs SQL Server 7
Da molte prove che ho effettuato personalmente con MySQL e Access è risultato in tutti i casi vincente il primo.
MySQL elabora le query con un tempo di esecuzione nettamente superiore ad Access e si può immaginare i vantaggi di una simile velocità in siti molto trafficati dove i tempi di attesa devono essere minimi.
In molti articoli che si possono trovare in rete, MySQL riesce anche a superare in prestazioni il più famoso e costoso SQL Server 7 di Microsoft. Ma a confronto di questo prodotto MySQL soffre la mancanza delle stored procedure per avere il massimo delle prestazioni e dell'assistenza diretta in caso di problemi, oltre alla mancanza dei triggers.
Conclusioni
MySQL è uno dei più popolari database al mondo grazie alle sue numerose versioni che coprono in modo pressoché completa tutti i sistemi operativi e per il suo prezzo gratuito, su Windows e sui sistemi Unix. E' una ottima alternativa a database ben più famosi e costosi per sistemi Microsoft.
Si può utilizzare, con un server su Internet basato sulle ASP, un computer principale basato su Windows NT/2000 ed un server anche di più modeste prestazioni con sistema operativo Linux e MySQL, oppure installare sullo stesso server entrambi i servizi.
Avremo a disposizione un'economica soluzione per il nostro lavoro e riusciremo a sviluppare una soluzione più che accettabile, il tutto certamente a scapito di funzionalità avanzate contenute in pacchetti come SQL Server o Oracle.
La serie completa
- Installare MySQL
- Configurare MySQL
- I tool di gestione grafica per MySQL
- Utilizzare MySQL con ASP e ASP.NET
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.