php i pgsql
-
- Użytkownik
- Posty: 1676
- Rejestracja: 2 kwie 2007, o 14:43
- Płeć: Mężczyzna
- Lokalizacja: warszawa
- Podziękował: 178 razy
- Pomógł: 17 razy
-
- Użytkownik
- Posty: 374
- Rejestracja: 21 cze 2007, o 11:28
- Płeć: Mężczyzna
- Lokalizacja: Łostowice
- Pomógł: 146 razy
php i pgsql
Te programy nie powinny ze sobą kolidować.
Po instalacji wystarczy je uruchomić.
W postgresie możesz utworzyć bazę, a z poziomu php może z niej korzystać.
Z poziomu php dostępne są funkcje dedykowane specjalnie dla pgsql.
Połączenie z bazą o nazwie nazwa_bazy na localhost
Zapytania wywołujesz przez
Po instalacji wystarczy je uruchomić.
W postgresie możesz utworzyć bazę, a z poziomu php może z niej korzystać.
Z poziomu php dostępne są funkcje dedykowane specjalnie dla pgsql.
Połączenie z bazą o nazwie nazwa_bazy na localhost
Kod: Zaznacz cały
$conn = pg_connect("dbname=nazwa_bazy user=postgres password=postgres host=127.0.0.1");
if (!$conn) {
echo "Bł±d poł±czenia z PostgreSQL";
}
Kod: Zaznacz cały
$wynik = pg_exec("SELECT * FROM tabela");
$ilosc_wierszy = pg_numrows($wynik);
for ($i = 0; $i < $ilosc_wierszy; $i++) {
$row = pg_fetch_row($wynik, $i);
for ($j = 0; $j < count($row); $j++)
echo $row[$j] . " ";
echo "<br>
" ;
}
pg_freeresult($wynik);
-
- Użytkownik
- Posty: 1676
- Rejestracja: 2 kwie 2007, o 14:43
- Płeć: Mężczyzna
- Lokalizacja: warszawa
- Podziękował: 178 razy
- Pomógł: 17 razy
php i pgsql
po wisaniu kodu
mam taki błąd
Call to undefined function pg_connect() in
mimoże mam zainsalowany posgrest
Kod: Zaznacz cały
<?php
// Connecting, selecting database
$dbconn = pg_connect ( "host=localhost dbname=publishing user=www password=foo" )
or die( 'Could not connect: ' . pg_last_error ());
// Performing SQL query
$query = 'SELECT * FROM authors' ;
$result = pg_query ( $query ) or die( 'Query failed: ' . pg_last_error ());
// Printing results in HTML
echo "<table>\n" ;
while ( $line = pg_fetch_array ( $result , null , PGSQL_ASSOC )) {
echo "\t<tr>\n" ;
foreach ( $line as $col_value ) {
echo "\t\t<td> $col_value </td>\n" ;
}
echo "\t</tr>\n" ;
}
echo "</table>\n" ;
// Free resultset
pg_free_result ( $result );
// Closing connection
pg_close ( $dbconn );
?>
mam taki błąd
Call to undefined function pg_connect() in
mimoże mam zainsalowany posgrest
-
- Użytkownik
- Posty: 374
- Rejestracja: 21 cze 2007, o 11:28
- Płeć: Mężczyzna
- Lokalizacja: Łostowice
- Pomógł: 146 razy
php i pgsql
Najpierw sprawdź funkcję phpinfo();
zobacz czy masz dostępne rozszerzenia php
przykładowo
PostgreSQL Support enabled
PostgreSQL(libpq) Version 8.2.14
Na Linuxie zobacz w php.ini
powinna byc linijka (bez znaku średnika na początku)
extension = pgsql.so
ten plik powinien być katalogu rozszerzeń.
pod windą
w php.ini (też ważne, bez znaku średnika na początku)
extension=php_pgsql.dll
Problem może tkwić w nowej wersji php powyżej 5.2.5 pod windows.
Zazwyczaj wystarczy zainstalować wersję starszą lub przegrać plik php_pgsql.dll ze starszej wersji.
zobacz czy masz dostępne rozszerzenia php
przykładowo
PostgreSQL Support enabled
PostgreSQL(libpq) Version 8.2.14
Na Linuxie zobacz w php.ini
powinna byc linijka (bez znaku średnika na początku)
extension = pgsql.so
ten plik powinien być katalogu rozszerzeń.
pod windą
w php.ini (też ważne, bez znaku średnika na początku)
extension=php_pgsql.dll
Problem może tkwić w nowej wersji php powyżej 5.2.5 pod windows.
Zazwyczaj wystarczy zainstalować wersję starszą lub przegrać plik php_pgsql.dll ze starszej wersji.
-
- Użytkownik
- Posty: 1676
- Rejestracja: 2 kwie 2007, o 14:43
- Płeć: Mężczyzna
- Lokalizacja: warszawa
- Podziękował: 178 razy
- Pomógł: 17 razy
php i pgsql
Mimoże zmieniłem php_pgsql.dll ze starszej wersji to i tak coś jest nie tak bo wyskakuje
takie coś
takie coś
-
- Użytkownik
- Posty: 374
- Rejestracja: 21 cze 2007, o 11:28
- Płeć: Mężczyzna
- Lokalizacja: Łostowice
- Pomógł: 146 razy
php i pgsql
Może chodzić o położenie pliku.
W pliku php.ini podana jest ścieżka do katalogu z rozszerzeniami
extension_dir = tu jest podana ścieżka
Plik php_pgsql.dll powinien znajdować w tej lokalizacji, podanie ścieżki względnej lub bezwzględnej nie jest poprawne.
W pliku php.ini podana jest ścieżka do katalogu z rozszerzeniami
extension_dir = tu jest podana ścieżka
Plik php_pgsql.dll powinien znajdować w tej lokalizacji, podanie ścieżki względnej lub bezwzględnej nie jest poprawne.
-
- Użytkownik
- Posty: 1676
- Rejestracja: 2 kwie 2007, o 14:43
- Płeć: Mężczyzna
- Lokalizacja: warszawa
- Podziękował: 178 razy
- Pomógł: 17 razy
php i pgsql
mam tak ustawione w php.ini dobrze?
; Local Variables:
; tab-width: 4
; End:
[PHP_BZ2]
extension=php_bz2.dll
[PHP_CURL]
extension=php_curl.dll
[PHP_GD2]
extension=php_gd2.dll
[PHP_GETTEXT]
extension=php_gettext.dll
[PHP_GMP]
extension=php_gmp.dll
[PHP_IMAP]
extension=php_imap.dll
[PHP_MBSTRING]
extension=php_mbstring.dll
[PHP_MYSQL]
extension=php_mysql.dll
[PHP_MYSQLI]
extension=php_mysqli.dll
[PHP_OPENSSL]
extension=php_openssl.dll
[PHP_PDO_MYSQL]
extension=php_pdo_mysql.dll
[PHP_PDO_ODBC]
extension=php_pdo_odbc.dll
[PHP_PDO_SQLITE]
extension=php_pdo_sqlite.dll
[PHP_PGSQL]
extension=php_pgsql.dll
[PHP_SOAP]
extension=php_soap.dll
[PHP_SOCKETS]
extension=php_sockets.dll
[PHP_SQLITE3]
extension=php_sqlite3.dll
[PHP_TIDY]
extension=php_tidy.dll
[PHP_XMLRPC]
extension=php_xmlrpc.dll
[PHP_EXIF]
extension=php_exif.dll
; Local Variables:
; tab-width: 4
; End:
[PHP_BZ2]
extension=php_bz2.dll
[PHP_CURL]
extension=php_curl.dll
[PHP_GD2]
extension=php_gd2.dll
[PHP_GETTEXT]
extension=php_gettext.dll
[PHP_GMP]
extension=php_gmp.dll
[PHP_IMAP]
extension=php_imap.dll
[PHP_MBSTRING]
extension=php_mbstring.dll
[PHP_MYSQL]
extension=php_mysql.dll
[PHP_MYSQLI]
extension=php_mysqli.dll
[PHP_OPENSSL]
extension=php_openssl.dll
[PHP_PDO_MYSQL]
extension=php_pdo_mysql.dll
[PHP_PDO_ODBC]
extension=php_pdo_odbc.dll
[PHP_PDO_SQLITE]
extension=php_pdo_sqlite.dll
[PHP_PGSQL]
extension=php_pgsql.dll
[PHP_SOAP]
extension=php_soap.dll
[PHP_SOCKETS]
extension=php_sockets.dll
[PHP_SQLITE3]
extension=php_sqlite3.dll
[PHP_TIDY]
extension=php_tidy.dll
[PHP_XMLRPC]
extension=php_xmlrpc.dll
[PHP_EXIF]
extension=php_exif.dll
-
- Użytkownik
- Posty: 374
- Rejestracja: 21 cze 2007, o 11:28
- Płeć: Mężczyzna
- Lokalizacja: Łostowice
- Pomógł: 146 razy
php i pgsql
Chyba nie ma
[PHP_PDO_PGSQL]
extension=php_pdo_pgsql.dll
Plik php_pdo_pgsql.dll też trzeba by wtedy skopiować ze starszej wersji.
[PHP_PDO_PGSQL]
extension=php_pdo_pgsql.dll
Plik php_pdo_pgsql.dll też trzeba by wtedy skopiować ze starszej wersji.
-
- Użytkownik
- Posty: 1
- Rejestracja: 16 paź 2009, o 15:13
- Płeć: Mężczyzna
- Lokalizacja: Kielce
php i pgsql
Z tego co widzę - rozmawiacie troszkę o 2 różnych rzeczach:
php_pgsql != php_pdo_pgsql
Odsylam tutaj:
i tutaj:
Osobiście polecam korzystanie z PDO - biblioteka jest napisana w C i z testów z których wynikami miałem okazję się zapoznać działa naprawdę zdumiewająco szybko - w większości przypadków szybciej niż standardowe funkcje "pg_". Ale największym atutem jest to ze aplikacja napisana z użyciem PDO jest odporna na zmianę silnika bazodanowego... A ciekawostką jest możliwość bindowania danych do zapytań (opisane na wikibooks) - zapewnia to skuteczne zabezpieczenie przed SQL INJ... Ale dokladny jej opis to już chyba kwalifikował by się na założenie nowego tematu - dlatego nie będę tutaj "spamował".
Wracając do kontekstu jeśli chcesz mieć "pg_"'sy to dodaj php_pgsql a nie php_pdo_pgsql
-----------
A tak wogólę to Witam Wszystkich - jest to mój pierwszy post na forum.
Mam nadzieję ze odświeżę obecną i zdobędę kolejną wiedzę z zakresu nauk ścisłych
Pozdrawiam !
------
Edit:
W confingu powyżej nie zauważyłem : php_pgsql.dll
Jeśli jest to dobra wersja biblioteki - to jest on poprawny co obsługi "pg_"
Co do samego komunikatu - zanim ładujesz cokolwiek z php_pdo_xxxxxxx musisz załadować samo php_pdo - php_pdo_pgsql sie nie załadowało powodując błąd ponieważ php_pdo nie było załadowane :)
php_pgsql != php_pdo_pgsql
Odsylam tutaj:
i tutaj:
Osobiście polecam korzystanie z PDO - biblioteka jest napisana w C i z testów z których wynikami miałem okazję się zapoznać działa naprawdę zdumiewająco szybko - w większości przypadków szybciej niż standardowe funkcje "pg_". Ale największym atutem jest to ze aplikacja napisana z użyciem PDO jest odporna na zmianę silnika bazodanowego... A ciekawostką jest możliwość bindowania danych do zapytań (opisane na wikibooks) - zapewnia to skuteczne zabezpieczenie przed SQL INJ... Ale dokladny jej opis to już chyba kwalifikował by się na założenie nowego tematu - dlatego nie będę tutaj "spamował".
Wracając do kontekstu jeśli chcesz mieć "pg_"'sy to dodaj php_pgsql a nie php_pdo_pgsql
-----------
A tak wogólę to Witam Wszystkich - jest to mój pierwszy post na forum.
Mam nadzieję ze odświeżę obecną i zdobędę kolejną wiedzę z zakresu nauk ścisłych
Pozdrawiam !
------
Edit:
W confingu powyżej nie zauważyłem : php_pgsql.dll
Jeśli jest to dobra wersja biblioteki - to jest on poprawny co obsługi "pg_"
Co do samego komunikatu - zanim ładujesz cokolwiek z php_pdo_xxxxxxx musisz załadować samo php_pdo - php_pdo_pgsql sie nie załadowało powodując błąd ponieważ php_pdo nie było załadowane :)