Acasa Tehnologie Exemple interogari baza de date PostgreSQL si lucru cu obiecte

Exemple interogari baza de date PostgreSQL si lucru cu obiecte

by Dragos Schiopu

postgresql

>Conectare bd, afisare inregistrari dintr-o tabela, inchidere conexiune

<?php
$con_string='host=localhost port=5432 dbname=nume_baza_de_date user=nume_utilizator password=parola_acces’;
@pg_connect($con_string) or die("Eroare conectare BD!");
$result=pg_exec("select * from ceva");
print '
Inregistrari='.pg_num_rows($result);
while($row=pg_fetch_array($result))
print $row['id'].' ';
pg_close();
?>

Conectare bd, creare large object, salvare imagine

<?php
$con_string='host=localhost port=5432 dbname=nume_baza_de_date user=nume_utilizator password=parola_acces’;
@pg_connect($con_string) or die("Eroare conectare BD!");
//citire imagine din fisier
$fisier=fopen($cale,"r") or die("Eroare deschidere fisier!"); //$cale=calea //catre imagine, de ex: http://www.ceva.ro/imagine.jpg sau C:imaginia.jpg
$buffer=fread($fisier,filesize($cale));
fclose($fisier);
pg_exec("begin");
$id=pg_lo_create(); //$id este id-ul large object-ului, acesta trebuie salvat //pentru utilizari ulterioare (stergeri, afisari,modificari)
//pg_exec("insert into imagini values($id)"); //prelucrarea id-ului
$obiect=pg_lo_open($id,"w"); //deschidere obiect in modul scriere
pg_lo_write($obiect,$buffer);
pg_lo_close($obiect);
pg_exec("commit");
pg_close();
?>

Afisare imagine din bd

<?php
$con_string='host=localhost port=5432 dbname=nume_baza_de_date user=nume_utilizator password=parola_acces’;
@pg_connect($con_string) or die("Eroare conectare BD!");
pg_exec("begin");
$rezultat=pg_lo_open($id_imagine,"r"); //se precizeaza id-ul furnizat la crearea large object-ului
header("Content-type: Image/jpeg");
pg_lo_read_all($rezultat);
pg_lo_close($rezultat);
pg_exec("commit");
pg_close();
?>

Stergerea unui large object

<?php
$con_string='host=localhost port=5432 dbname=nume_baza_de_date user=nume_utilizator password=parola_acces’;
@pg_connect($con_string) or die("Eroare conectare BD!");
pg_exec("begin");
pg_lo_unlink($id); //se precizeaza id-ul furnizat la crearea large object-ului
pg_exec("commit");
pg_close();
?>

s-ar putea sa-ti placa