Layer 06

MySql connessione, interrogazione e chiusura in PHP

Per aprire una connessione al database basta semplicemente conoscere quattro parametri principali:
Nome utente da utilizzare per fare il log on
Password del nome specificato prima
Host da cui ci si collega.
il nome del databse a cui collegarsi

Inseriamo questi parametri in alcune variabili:

<?
$utente=’mioutente’
$pwd=’admin’
$host=’localhost’ /* Solitamente è localhost, altrimenti se si utilizza un databse remoto specificare l’IP */
$dbname=’miodb’
?>

Attenzione! tutti i parametri sono case sensitive.

Ora per aprire la connessione basta scrivere le seguenti righe di codice:

<?
$connect = mysql_connect($host, $utente, $pwd) or die ("Non connesso");
mysql_select_db($dbname);
?>

Bene, se lanciando lo script php che contiene questocodice non ci sono errori possiamo siamo ufficialmente collegati.
La sintassi "or die("Non connesso") implica che se la connessione non è andata a buon fine visualizza un messaggio con sopra scritto apputo "non connesso".
Ora supponiamo di avere a disposizione una tabella tipo magazzino che contiene codice articolo (cdart), descrizione (descr) e quantità (qta) e supponiamo di dover interrogare il nostro magazzino per sapere quali sono gli articoli con quantità minore o ugale di 0. Il nostro codice sarà il seguente.

<?
%sql_mag="select cdart,descr from magazzino where qta<=0";
$res_mag=mysql_query($sql_mag);
?>

A questo punto abbiamo nella variabile $res_mag (salvo errori di battitura :-)) il risultato della query cioè un recordset (insieme di record).

Per poter visualizzare questo insieme di record basta che fetchamo cioè scorriamo passo passo la variabile contente il recordset. Per fare ciò è opinabile l’utilizzo di un ciclo while:

<?
while ($ris_mag= mysql_fetch_array ($res_mag)) {
echo "$ris_mag[cdart] – $ris_mag[descr] quantità minore o uguale a zero <br>";
}
?>

Significa che finchè il motore di PHP riuscirà a fetchare la variabile $res_mag allora eseguirà l’istruzione.

Dopo aver aperto, interrogato e visualizzato il nostro database non ci rimane che chiuderlo 🙂 ma questo è molto più facile ed intuitivo del resto:

<?
mysql_close($connect);
?>

Per maggiori informazioni sulle interrogazioni e sulle istruzioni SQL per le query consultare la sezione ProgrammingSQL

Maggiori informazioni:
PHP.net
freephp.html.it
MySQL]]>