|
Accesso a MySQL
Cos'è MySQL?
MySQL è un database SQL multi-utente e multi-threaded. E' una delle soluzioni più utilizzate per la gestione delle informazioni per siti web di medio-grandi dimensioni.
Connessione al database tramite PHP
PHP è un linguaggio di molto conosciuto, ed è molto indicato per l'accesso a database MySQL da pagine web. Ecco uno script di esmepio per l'accesso da PHP ad un database MySQL; i commenti spiegano le singole operazioni:
// Connessione al database
// * mysql_connect necessita di servername, user e password
// * come argomenti. mysql_selectdb utilizza il nome del database.
// * Vengono utilizzate insieme per aprire una connesisone al database.
mysql_connect($SERVER,$USER,$PASSWORD);
mysql_selectdb($DATABASE);
// Esecuzione query
// * mysql_query prende come argomento la query che
// * volete eseguire sul database. Il risultato viene
// * assegnato ad una variable, che può essere utilizzata
// * in seguito per recuperare i risultati
$QUERY = mysql_query("SELECT * from test");
// Numero di righe ottenute
// * Eseguendo mysql_num_rows per la query in oggetto
// * sapremo quante righe essa ha ritornato
$NUMROWS = mysql_num_rows($QUERY);
// Visualizza risultati
if ($NUMROWS) {
$I = 0;
while ($I < $NUMROWS) {
// Recupero valori
// * mysql_result ritorna il valore di una specifico campo
// * di una specifica riga. Gli argomenti sono tre:
// * la query, la riga ed il nome del campo
$FIELD1 = mysql_result($QUERY,$I,"field1");
$FIELD2 = mysql_result($QUERY,$I,"field2");
$FIELD3 = mysql_result($QUERY,$I,"field3");
echo "field1 = $FIELD1, field2 = $FIELD2, field3 = $FIELD3 \n";
$I++;
}
}
?>
PHP ha inoltre molte altre funzione legate a MySQL, per operazioni più sofisticate.
Connessione al database con ASP
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={MySQL ODBC 3.51 Driver};server=nome_server;port=3306;
uid=nome_utente;pwd=password_utente;database=nome_db;"
sql = "SELECT * FROM Tabella1"
rs = Server.CreateObject("ADODB.Recordset")
Set rs = conn.execute(sql)
do while not(rs.eof)
response.write rs("id") & rs("descrizione")
rs.movenext
loop
rs.close
conn.close
set rs = nothing
set conn = nothing
%>
Connessione al database con Perl
Potete utilizzare anche Perl con il modulo DBI Perl per accedere al vostro database. Ecco un esempio commentato:
#!/usr/local/bin/perl
use DBI;
# Connessione al database
# * L'interfaccia DBI al MySQL utilizza il metodo "connect",
# * al quale vengono passati quattro parametri
# * La connessione è assegnata ad una variabile utilizzabile
# * in seguito per accedere ai dati
$database = "il vostro database name";
$username = "il vostro database username";
$password = "il vostro database password";
$hostname = "il vostro database hostname";
$db = DBI->connect("DBI:mysql:$database:$hostname", $username, $password);
# Esecuzione query
# * L'esecuzione della query si compone di due passi.
# * Il metodo "prepare" assegna la query da eseguire.
# * Il metodo "execute", poi, la esegue effettivamente.
$query = $db->prepare("SELECT * FROM test");
$query->execute;
# Numero di righe ottenute
# * Il metodo rows restituisce il numero di
# * righe ritornato dalla query
$numrows = $query->rows;
# Visualizza risultati
# * Eseguendo il metodo fetchrow_array sulla query
# * si ottiene la prima riga memorizzata in un array.
# * Successive chiaamta ritorneranno le righe successive
# * L'istruzione ritorna 0 quando non ci sono più righe.
while (@array = $query->fetchrow_array) {
($field1, $field2, $field3) = @array;
print "field1 = $field1, field2 = $field2, field3 = $field3 \n";
}
# Chiusura
# * con il modulo DBI è consigliabile chiudere la query ed
# * effettuare la disconnessione.
$query->finish;
$db->disconnect;
exit(0);
Il modulo DBI ha altri metodi interessanti. Potete ottenere maggiori informazioni lanciando, una volta loggati, il comando "perldoc DBI".
|