back to top

PostgreSQL e PHP

PostgreSQL, esattamente come nel caso di MySQL, può essere utilizzato non soltanto da linea di comando ma anche in associazione con un linguaggio di scripting server side, come per esempio PHP.

Nell’esempio che proporremo di seguito, mostreremo il codice necessario per alcune operazioni fondamentali come: connessione all’ORDBMS, selezione dei record da un database, output a video dei dati e chiusura della connessione; sarà l’occasione per ossevare l’azione di alcune importanti funzioni:

<?
$db = pg_connect("host=host user=usr password=pwd dbname=db");

$query="SELECT * FROM tb WHERE campo = '" . $dato ."'";

$res = pg_exec($query);

$nrows = pg_numrows($res);

if($nrows != 0)
{
  for($i=0;$i<$nrows;$i++)
  {
    $row = pg_fetch_array($res);
    print $row["r1"] . "<br>";
    print $row["r2"] . "<br>";
    print $row["r3"] . "<br>";
  }
}else{	
  print "Nessun risultato per " . $dato;
}

pg_close($db);
?>
Innanzitutto abbiamo la funzione pg_connect() che ci consente di connetterci a PostgreSQL, ad essa passiamo come parametri l’host (ad esempio localhost), l’owner del database, la relativa password e il nome della base di dati a cui desideriamo connetterci. Da notare come non venga utilizzata una specifica funzione per la selezione del database, esso invece rientra tra i dati necessari alla connessione tra PHP e l’ORDBMS.

In secondo luogo abbiamo la funzione pg_exec(), alla quale passiamo come parametro la query. Il risultato dell’azione svolta da pg_exec() viene passato come parametro alle funzioni pg_numrows() e pg_fetch_array(): la prima conta i record presenti in tabella, se saranno uguali a zero visualizzeremo la relativa notifica ("Nessun risultato per.."); la seconda individua i valori contenuti nell’array e ci permette di stamparli a video attraverso un ciclo.

Infine, una volta ottenuto il risultato della nostra interrogazione, entra in gioco la funzione pg_close() a cui dobbiamo passare come parametro il valore di connessione in modo da chiudere quest’ultima.

Pubblicitร 
Claudio Garau
Claudio Garau
Web developer, programmatore, Database Administrator, Linux Admin, docente e copywriter specializzato in contenuti sulle tecnologie orientate a Web, mobile, Cybersecurity e Digital Marketing per sviluppatori, PA e imprese.