Witam, mam klase ktora sciagnalem z sieci:
<?php
class postgresql
{
public function __construct($host, $user, $password, $dbname)
{
// Próbujemy się połączyć
IF(!$this->db = pg_connect('host='.$host.' dbname='.$dbname.' user='.$user.' password='.$password.''))
{
$this->error = true;
throw new Exception('Błąd Połączenia z Bazą Danych - '.pg_last_error());
}
// połączyliśmy się, rozpoczynamy tranzakcję
pg_query($this->db, 'BEGIN');
}
public function query($query)
{
// wykonywanie zapytań nie-SELECT
IF(!ereg('SELECT', $query) and !$this->error)
{
IF(!$result = pg_query($this->db, $query))
{
$this->error = true;
throw new Exception('Błąd wykonania zapytania - ('.$query.') - '.pg_last_error());
}
else
{
return true;
}
}
else
{
return false;
}
}
public function query_select($query)
{
// Zapytania select
IF(!$this->error)
{
IF(!$result = pg_query($this->db, $query))
{
$this->error = true;
throw new Exception('Błąd wykonania zapytania - ('.$query.') - '.pg_last_error());
}
while($row = pg_fetch_array($result, null, PGSQL_ASSOC))
{
$return[] = $row;
}
unset($result);
unset($row);
return $return;
}
}
public function escape($string)
{
return pg_escape_string($string);
}
function __destruct()
{
IF(!$this->error)
{
pg_query('COMMIT');
}
else
{
pg_query('ROLLBACK');
}
unset($this->db);
unset($this->error);
}
}
// PRZYKŁADOWE ZASTOSOWANIE
$pgs = new postgresql('localhost', 'USER', 'PASSWORD', 'DATABASE');
//$pgs->query("CREATE TABLE rk_pages ( page_id SERIAL, page_title varchar(255) default NULL, page_desc text, page_content text, PRIMARY KEY (page_id))");
//$pgs->query("INSERT INTO rk_pages (page_title, page_desc, page_content) VALUES ('tytuł1', 'opis1', 'treść artykułu1')");
//$pgs->query("INSERT INTO rk_pages (page_title, page_desc, page_content) VALUES ('tytuł2', 'opis2', 'treść artykułu2')");
$str = $pgs->query_select("SELECT * FROM rk_pages");
//echo $str[0][page_content];
$ii=0;
foreach ($str as $value) {
echo $str[$ii][page_id]."<br>";
echo $str[$ii][page_title]."<br>";
echo $str[$ii][page_desc]."<br>";
echo $str[$ii][page_content]."<br>";
$ii++;
}
Jesli wkleicie ten plik i ustawicie na swoje dane wszystko zadziala. W zmiennej $str przechowuje sie tablica mniej wiecej taka:
array[0] i w niej zawarty jest jeden wiersz [page_id] itd wszystkie dane z wyszukiwania
array[1] i tu jak wyzej. Zatem zeby wyswietlic wynik uzylem foreach....zastanawiam sie
czy to poprawne czy powienien byc jakis profesjonalniejszy sposob ?
Molgby mi ktos powiedziec o wadach tego rozwiazania...