Usare PHP con MySQL 5 - Comune di Tocco da Casauria

Transcript

Usare PHP con MySQL 5 - Comune di Tocco da Casauria
Usare PHP con MySQL 5
(di Andrea Turso)
Con le novità introdotte ai tempi di MySQL 4.1 il team di PHP ha sviluppato una nuova API (insieme
di funzioni) che permette a PHP di interagire con MySQL, contenuta in una estensione chiamata
mysqli (mysql improved). Tale estensione si affianca quindi alla più vecchia estensione mysql,
estendendone le funzionalità ed introducendo anche un'interessante interfaccia ad oggetti.
Mostreremo quindi i passi necessari per abilitare sia la classica estensione mysql sia la nuova
mysqli. Bisognerà scegliere quale delle due procedure eseguire in relazione alle applicazioni PHP
che si intende far girare.
Se si vogliono provare le nuove caratteristiche di MySQL 5 dovremo installare l'estensione mysqli
mentre se vorremo testare la compatibilità di script PHP di non recente realizzazione l'estensione
mysql farà al caso nostro. E' comunque possibile installarle entrambe.
Installare l'estensione mysqli
Per prima cosa cerchiamo il file libmysql.dll nella cartella di PHP (C:\php) e copiamolo nella
cartella di windows (C:\WINDOWS).
Apriamo poi con un editor (nel nostro esempio useremo il blocco note) il file php.ini presente nella
cartella C:\php. Cerchiamo la riga che inizia per extension_dir e modifichiamola in modo che punti
alla cartella delle estensioni di PHP C:\php\ext come mostrato nella seguente figura:
Fatto ciò scorriamo il file cercando un lungo elenco di righe che iniziano tutte per ;extension.
Portiamoci alla fine di questo elenco e scriviamo la seguente riga:
extension=php_mysqli.dll
Il risultato dovrà essere simile a quello mostrato nella seguente finestra
A questo punto riavviamo Apache come mostrato precedentemente (doppio clic sull'icona di
Apache nel system tray, e premere il pulsante Restart Apache). Per verificare che PHP ha caricato
correttamente l'estensione mysqli apriamo il browser e digitiamo l'indirizzo
http://localhost/info.php. Circa a metà della pagina che ci verrà mostrata troveremo le seguenti
indicazioni:
Adesso proviamo a collegarci con uno script PHP al nostro database MySQL. Apriamo il blocco note
(o l'editor che preferite) e scriviamo il seguente codice:
view plainprint?
1. <?php
2. $link = mysqli_connect("localhost", "root", "testpass");
3. if (!$link)
4. {
5.
printf("Connessione non riuscita: %sn", mysqli_connect_error());
6.
exit();
7. } else {
8.
echo 'Connesso con successo';
9. }
10.mysqli_close($link);
11.?>
<?php
$link = mysqli_connect("localhost", "root", "testpass");
if (!$link)
{
printf("Connessione non riuscita: %sn", mysqli_connect_error());
exit();
} else {
echo 'Connesso con successo';
}
mysqli_close($link);
?>
Se volete connettervi a MySQL con il nuovo approccio OO ( Object Oriented ) fornito da mysqli
view plainprint?
1. <?php
2. $mysqli = new mysqli("localhost","root","testpass");
3. if(mysqli_connect_errno())
4. {
5.
printf("Connessione non riuscita: %sn", mysqli_connect_error());
6.
exit();
7. } else {
8.
echo 'Connesso con successo';
9. }
10.?>
<?php
$mysqli = new mysqli("localhost","root","testpass");
if(mysqli_connect_errno())
{
printf("Connessione non riuscita: %sn", mysqli_connect_error());
exit();
} else {
echo 'Connesso con successo';
}
?>
Fate attenzione ad inserire nel codice (seconda riga) la corretta password di accesso. Dovrà essere
la stessa che avete usato durante l'installazione di MySQL. Nel nostro esempio è impostata a
"testpass".
Salvate lo script appena realizzato con il nome testmysql.php nella cartella htdocs di Apache (nel
nostro caso C:\Programmi\Apache Software Foundation\Apache2.2\htdocs) . Ricordiamo che per
evitare che il blocco note automaticamente aggiunga l'estensione .txt è possibile salvare il file
scrivendo il nome tra virgolette ("testmysql.php"). Adesso proviamo a lanciare il nostro piccolo
script di test: apriamo il browser e digitiamo il seguente indirizzo: http://localhost/testmysql.php.
Se tutto è stato eseguito correttamente visualizzeremo il messaggio "Connesso con successo".
Nel caso la connessione non riuscisse si otterrà un messaggio di errore esplicativo.
Installare l'estensione mysql
Per prima cosa cerchiamo il file libmysql.dll nella cartella di PHP (C:\php) e copiamolo nella
cartella di windows (C:\WINDOWS).
Apriamo poi con un editor (nel nostro esempio useremo il blocco note) il file php.ini presente nella
cartella C:\php. Cerchiamo la riga che inizia per extension_dir e modifichiamola in modo che punti
alla cartella delle estensioni di PHP C:\php\ext come mostrato nella seguente figura:
Fatto ciò scorriamo il file cercando un lungo elenco di righe che iniziano tutte per ;extension.
Individuiamo in questo elenco la riga ;extension=php_mysql.dll e cancelliamo il punto e virgola
iniziale come mostrato nella successiva schermata:
Adesso salviamo il file php.ini appena modificato e riavviamo Apache come mostrato
precedentemente (doppio clic sull'icona di Apache nel system tray, e premere il pulsante Restart
Apache). Per verificare che PHP ha caricato correttamente l'estensione di MySQL apriamo il
browser e digitiamo l'indirizzo http://localhost/info.php. Circa a metà della pagina che ci verrà
mostrata troveremo le seguenti indicazioni:
Ora tutto è pronto per testare uno script PHP-MySQL. Apriamo il blocco note (o l'editor che
preferite) e scriviamo il seguente codice:
view plainprint?
1.
2.
3.
4.
5.
6.
<?php
$connessione = mysql_connect("localhost", "root", "testpass")
or die("Connessione non riuscita: " . mysql_error());
print ("Connesso con successo");
mysql_close($connessione);
?>
<?php
$connessione = mysql_connect("localhost", "root", "testpass")
or die("Connessione non riuscita: " . mysql_error());
print ("Connesso con successo");
mysql_close($connessione);
?>
Fate attenzione ad inserire nel codice (seconda riga) la corretta password di accesso. Dovrà essere
la stessa che avete usato durante l'installazione di MySQL. Nel nostro esempio è impostata a
"testpass".
Salvate lo script appena realizzato con il nome testmysql.php nella cartella htdocs di Apache (nel
nostro caso C:\Programmi\Apache Software Foundation\Apache2.2\htdocs) . Ricordiamo che per
evitare che il blocco note automaticamente aggiunga l'estensione .txt è possibile salvare il file
scrivendo il nome tra virgolette ("testmysql.php"). Adesso proviamo a lanciare il nostro piccolo
script di test: apriamo il browser e digitiamo il seguente indirizzo: http://localhost/testmysql.php
.Se tutto è stato eseguito correttamente otterremo il messaggio "Connesso con successo".
Se invece PHP non riesce a connettersi al nostro database MySQL ci verrà mostrato un messaggio
di errore contenente indicazioni sul problema verificatosi.