Utilizzare MySQL con PHP

di Andrea Zani, in Altre tecnologie,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti