Php e MySQL

 

Lettura di una tabella MySQL con php

 

(tabella clienti di Northwind esportata in CSV e importata in MySQL)

leggi.php

<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Impossibile connettersi al database: ' . mysql_error());
}

mysql_select_db("db1", $con);
$sql = "SELECT * FROM clienti";
$result = mysql_query($sql);

while($row = mysql_fetch_array($result))
{
echo $row['codice'] . " " . $row['nome'] . " " . $row['paese'];
echo "<br />";
}

mysql_close($con);
?>

Form HTML + pagina php
(Attenzione: questo esempio ha valore didattico; nella pratica presenta problemi di SQLInjection; una soluzione più efficiente è presentata di seguito con l'uso di una dropdownbox )

Pagina Web

<html>
<head>
<title>Clienti</title>
</head>
<body>
<form action="leggi2.php" method="post">
Quale paese: <input type="text" name="nazione" />
<input type="submit" />
</form>
</body>
</html>

leggi2.php

<?php
$nazione = $_POST["nazione"];
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Impossibile connettersi al database: ' . mysql_error());
}

mysql_select_db("db1", $con);
$sql = "SELECT * FROM clienti WHERE paese LIKE '%$nazione%'";
$result = mysql_query($sql);

while($row = mysql_fetch_array($result))
{
echo $row['codice'] . " " . $row['nome'] . " " . $row['paese'];
echo "<br />";
}

mysql_close($con);
?>

Pagina php con la scelta da una dropdown box

<html>
<head>
<title>Clienti</title>
</head>
<body>
<form action="leggi2.php" method="post">
<SELECT name="nazione">
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Impossibile connettersi al database: ' . mysql_error());
}
mysql_select_db("db1", $con);
$sql = "SELECT distinct paese FROM clienti Order By paese";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
echo "<OPTION VALUE=\"".$row["paese"]."\">".$row["paese"]."</OPTION>";
}
mysql_close($con);
?>
</SELECT>
<p>
<input type="submit" value="Invia"/>
</p>
</form>
</body>
</html>

Scelta e visualizzazione in un'unica pagina php

<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Impossibile connettersi al database: ' . mysql_error());
}
mysql_select_db("db1", $con);
?>
<HTML>
<HEAD><title>Clienti</title></HEAD>
<BODY>
<FORM name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<SELECT name="nazione">
<?php
$sql = "SELECT distinct paese FROM clienti ORDER BY paese";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
echo "<OPTION VALUE=\"".$row["paese"]."\">".$row["paese"]."</OPTION>";
}
?>
</SELECT>
<INPUT type="submit" name="submit" value="Invia"><br>
</FORM>

<?php if(isset($_POST['submit'])) {
$nazione=$_POST["nazione"];
$sql = "SELECT * FROM clienti WHERE paese LIKE '%$nazione%'";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
echo $row['codice'] . " " . $row['nome'] . " " . $row['paese'];
echo "<br />";
}
}
mysql_close($con);
?>
</BODY>
</HTML>

 

 

  Lettura di due tabelle collegate di MySQL: selezione nella dropdown box e visualizzazione nella tabella
  Catalogo di riviste scientifiche suddivise per ambito disciplinare (Dal tema di esame 2009 - Informatica - Programmatori Mercurio)
  Comandi di manipolazione: Insert
 

Inserimento di una nuova categoria con nome e descrizione acquisiti con un form di una pagina HTML

<?php
$categoria = $_POST["categ"];
$descrizione = $_POST["descr"];
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Impossibile connettersi al database: ' . mysql_error());
}

mysql_select_db("centrocommerciale", $con);
$sql = "INSERT INTO Categorie (NomeCategoria, Descrizione) ";
$sql .= "VALUES('$categoria','$descrizione')";
mysql_query($sql);
if ( mysql_errno() == 0) {
echo "Comando eseguito con successo";
} else {
echo "Errore nell'inserimento";
}

mysql_close($con);
?>

  Tecnologia Ajax
  Lettura di una tabella MySQL con php + Ajax
  Uso di MySQL con la distribuzione Knoppix
 

Dopo aver acceso il computer, prima dell’avvio di windows bisogna inserire il cd e quando viene visualizzata la pagina per il caricamento di knoppix occorre scrivere accanto alla parola BOOT (in fondo) “ knoppix lang = it.”e premere  invio. Questo comando permette di impostare la tastiera italiana.  Pertanto mentre si scrive questa impostazione, la tastiera non è italiana, e perciò il segno uguale si trova cliccando sulla i accentata della tastiera.

Dopo aver impostato la lingua italiana, aspettare il caricamento di knoppix. Quando l’interfaccia di knoppix si è aperta, cliccare sull’icona del pinguino e poi su ROOT SHELL. Apparirà cosi una finestra nera (amministratore) nella quale bisognerà scrivere il seguente comando:

/etc/init.d/mysql start
e premere invio. Questo permette di far partire il server MySQL.

Una volta aperta la finestra dell’amministratore, cliccare sull’icona della Console Shell. Anche qui, apparirà una finestra nera e per poter incominciare a scrivere con il linguaggio sql bisognerà scrivere il seguente comando:

sudo mysql

Dopodiché, apparirà un messaggio di benvenuto e si potrà iniziare a svolgere il lavoro.
Per salvare la lista dei comandi inseriti occorre scrivere dal prompt di MySQL

mysql> \T nomefile.txt (da qui in poi viene registrato tutto su nomefile,txt)

La registrazione viene interrotta con

mysql> \t (minuscolo).

Infine, per uscire da knoppix, scegliere menu k, termina sessione. Il cd potrà essere tolto, quando sullo schermo apparirà la scritta rimuovere il cd.

 

  MySQL in ambiente Windows
 


Il software MySQL è scaricabile da Internet accedendo all'area Developer Zone del sito di MySQL http://dev.mysql.com.
Per usare la versione di MySQL nel sistema operativo Windows conviene scaricare da Internet il pacchetto Installer per Windows, il quale installa sia il server che il client creando sul disco una cartella mysql.
L’indirizzo diretto è il seguente:
Downloads/MySQL-5.0
(sono circa 40 MB).
Per avviare il server in Windows, occorre posizionarsi nella sottocartella \mysql\bin
e scrivere dalla linea comandi:
mysqld
Per creare i database e operare su di essi, si deve utilizzare il programma client mysql che interagisce con il server MySQL tramite la riga di comando, dal prompt del sistema operativo. Questo programma è automaticamente installato insieme al server MySQL ed è posizionato nella seguente directory di default:
\mysql\bin.
Per l’interazione con il server di MySQL attraverso la linea comandi del sistema operativo Windows:
dal menu Start, si sceglie Esegui e poi si scrive cmd per aprire la finestra della linea comandi e posizionarsi nella cartella \mysql\bin.
Per richiamare il programma client si usa il comando mysql dalla riga di comando, indicando tra le opzioni l’indirizzo del computer su cui il server MySQL è in esecuzione e il nome dell’utente:
mysql –h <hostname> -u <username> -p
dove
• hostname indica il nome o l’indirizzo IP del server,
• username indica il nome dell’utente del sistema.
La presenza dell’opzione -p indica l’accesso tramite richiesta di password: premendo il tasto Invio sulla tastiera, viene richiesto l’inserimento della password.
Se si sta eseguendo il programma client dallo stesso computer su cui è in esecuzione il server MySQL, non è necessario indicare l’opzione hostname. Per collegarsi come amministratore si usa il nome utente root e, se nessuna password è impostata, si può togliere l’opzione –p.
Con le precedenti ipotesi, un possibile collegamento avviene eseguendo dal prompt il seguente comando:
mysql –u root
La connessione come utente root è necessaria per le operazioni di creazione di database e di tabelle.
Se la connessione è effettuata correttamente, viene visualizzato un messaggio di benvenuto simile a quello sotto riportato e il segnale di pronto (prompt)

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.1.9-max
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>

da qui in poi si possono inserire i comandi SQL.
Per chiudere occorre dare il comando
quit

  Come usare il linguaggio Php con la distribuzione Knoppix
  da root (comando su)
1) Avvio del Web server (Apache)
#/etc/init.d/apache2 start
2) posizionamento in directory /var/www
3) scrivere il seguente file di testo salvandolo con il nome prova.php
<?php
phpinfo();
?>

4) avviare il browser (Mozilla Firefox)
5) nella casella dell'indirizzo scrivere
http://localhost/prova.php
oppure
http://127.0.0.1/prova.php
vengono visualizzate le informazioni sull'installazione di php;
quindi il linguaggio php è disponibile.
  Installazione di phpMyAdmin
 
  • scaricare il software, per esempio da http://sourceforge.net/projects/phpmyadmin/
  • scompattare il file in una directory
    (per esempio, phpMyAdmin-2.5.4)
    nella root del web server, tipicamente
    /var/www/html
    ( usando l'interfaccia grafica, basta fare doppio clic sull'icona del file)
  • modificare con l'editor il file config.inc.php3, specificando la directory con la linea
    $cfg['PmaAbsoluteUri'] = 'http://localhost/phpMyAdmin-2.5.4/'
    (attenzione allo slash finale)
  • Dopo aver avviato i server http e mysql con i comandi
    /etc/init.d/httpd start
    /etc/init.d/mysqld start
    da brower lanciare l'esecuzione con
    http://localhost/phpMyAdmin-2.5.4







> Database di prova per MySQL
(dal sito dev.mysql.com)
da importare in MySQL con il comando
SOURCE nomefile.sql
Paesi-dati
Paesi-schema
database Sakila con film, attori, ecc (schema + dati)
database World completo come quello dei paesi (schema + dati)
> Manuali in linea
Manuale php
Manuale mysql