Utilizzare MySQL con PHP

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:

  • $Connessione=mysql_connect($server,$user,$password);
    - 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.
  • $database=mysql_select_db($name_db,$connessione);
    - 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.
  • $tutto=mysql_query($sql,$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.
  • Mysql_free_result($tutto);
    - Libera la memoria e le risorse del computer dalla query effettuata.
  • Mysql_close($connessione);
    - Chiude la connessione con MySQL.
  • cols=mysql_num_fields($tutto);
    - Questa funzione restituisce il numero di campi della query ?select? memorizzata in $tutto.
  • rows=mysql_num_rows($tutto);
    - Questa funzione restituisce il numero di record della query ?select? memorizzata in $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

Contenuti dell'articolo

Commenti
Dai un voto a questo articolo, ci aiuterà a migliorare il nostro sito (1 è il voto minimo, 5 il massimo).

Per procedere al rating dell'articolo devi essere autenticato.

TUTORIALS
TOP TEN ARTICOLI
NOTIFICHE

Iscriviti alla nostra newsletter nuoviarticoli per ricevere e-mail le notifiche!

Indirizzo e-mail:
PROVIDER ASP.NET 2.0

Seleziona il database per avere il web.config pronto per Membership, Roles e Profile API.



IN EVIDENZA
MISC