Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PHP i PostgreSQL - Błąd połaczenia
Gordon1x
post 26.06.2008, 09:32:59
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 13.06.2007

Ostrzeżenie: (0%)
-----


Mam zainstalowaną bazę danych PostgreSQL 8.1 i PHP5-cgi z obsługą bazy danych. Z PostgreSQL mam połączenie przez pgAdmin III i phpPgAdmin.
Napisałem krótki skrypt, aby połączyć się z bazą danych, ale zwraca błąd:

  1. Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: FATAL: database "postgres,host=localhost" does not exist in /var/www/index.php on line 5


Przypuszczam że błąd musi być w skrypcie ponieważ przez phpPgAdmin mogę się zalogować więc konfiguracja bazy danych i php jest poprawna.


Skrypt do połączenia z bazą danych.
  1. <?php
  2. $connection=pg_connect("dbname=postgres,host=localhost port=5432 user=postgres password=haslo");
  3. ?>



Z góry dziękuję za pomoc w rozwiązaniu problemu.

Ten post edytował Gordon1x 26.06.2008, 09:40:48
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Ociu
post 26.06.2008, 09:59:57
Post #2





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




  1. host=localhost port=5432 dbname=postgres user=postgres password=haslo

http://pl2.php.net/pg_connect
Go to the top of the page
+Quote Post
Gordon1x
post 26.06.2008, 15:06:07
Post #3





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 13.06.2007

Ostrzeżenie: (0%)
-----


Z tym już się uporałem, ale pojawił się nastepny problem. Jak wykonam kod nie są w funkcji są zwracane zmienne:
  1. <?php
  2. $connection = pg_connect("host=$baza[host] port=$baza[port] dbname=$baza[name] user=$baza[user] passw
    ord=$baza[pass]"
    ) or die ("Błąd");
  3.  
  4. function setup($connection){
  5.  $query = "SELECT kod, superior FROM nowa WHERE superior = '1' LIMIT 1";
  6.  $wynik = pg_query($connection, $query);
  7.  
  8.  while ($record = pg_fetch_array($wynik)){
  9. $kod = $record[0];
  10. $superior = $record[1];
  11.  }
  12.  
  13.  return $kod;
  14. }
  15.  
  16.  print ("$kod");
  17. ?>


Po wykonani tego kodu nie jest drukowana zmienna $kod, ale gdy dam funkcję print ("") w funkcji setup to zmienna jest drukowana.
Jak rozwiązać ten problem aby móc używać zmienną w dokumenie poza funkcją.

Ten post edytował Gordon1x 26.06.2008, 16:04:36
Go to the top of the page
+Quote Post
jezoo
post 27.06.2008, 10:58:49
Post #4





Grupa: Zarejestrowani
Postów: 92
Pomógł: 3
Dołączył: 4.04.2006

Ostrzeżenie: (0%)
-----


powinno byc:
  1. <?php
  2. print(setup($connection));
  3. ?>

lub
  1. <?php
  2. function setup($connection){
  3. global $kod;
  4.  $query = "SELECT kod, superior FROM nowa WHERE superior = '1' LIMIT 1";
  5.  $wynik = pg_query($connection, $query);
  6.  
  7.  while ($record = pg_fetch_array($wynik)){
  8. $kod = $record[0];
  9. $superior = $record[1];
  10.  }
  11. }
  12. // Wykonanie funkcji 
  13. setup($connection);
  14.  
  15. print($kod);
  16. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:13