Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Łączenie sie z bazą
pejot
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 3.02.2008

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


Witam zostałem poproszony o pomoc w modyfikacji projektu, chodziło o to aby zrobić oddzielny plik z parametrami do bazy. Na postgresql sie nie znam manuale mi nie pomogły, proszę was o pomoc.

tak wygląda moj plik config.inc.php
  1. <?
  2. // Baza danych
  3. $host = '111.111.111.111';
  4. $port = '5432';
  5. $dbname = 'systemkontaktowy';
  6. $user = 'abc';
  7. $password = '123456789';
  8. ?>


A tak wygląda moj plik index.php
  1. <?php
  2. ?php
  3. //Config
  4. require('config.inc.php');
  5. $polaczenie = pg_connect("host=$host port=$port user=$user password=$password dbname=$dbname");
  6. //wyciąłem zbedne linijki
  7. function zaloguj($aAutor){
  8.        $db = $polaczenie
  9.        or die($this->blad("Blad polaczenia z baza danych " . pg_last_error($db))); <-- TO JEST 463 LINIJKA
  10.        $zapytanie =
  11.        sprintf("    SELECT a.id, a.idgrupa, \"login\", 123456789, a.aktywny, g.rodzaj "
  12.        . " FROM systemkontaktowy.autorzy a "
  13.        . " LEFT JOIN systemkontaktowy.grupy g "
  14.        . " ON g.id = a.idgrupa "
  15.        . "WHERE login = '%s' AND 123456789 = '%s' AND aktywny = true "
  16.        ,$aAutor->fLogin,$aAutor->f123456789);
  17.        $wynik = pg_query($db,$zapytanie);
  18.        if(!$wynik){
  19.            die("Blad polaczenia przy logowaniu. Prosze sprobowac pozniej");
  20. ?>


W rezultacie dostaje:
Warning: pg_last_error(): supplied argument is not a valid PostgreSQL link resource in /var/www/test/index.php on line 463
<h3 class="blad">BLAD: Blad polaczenia z baza danych </h3>
Proszę o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
blooregard
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Cytat
Dzięki za rady. Ale problem nie rozwiazany jest do końca:(

Dziekujesz za rady, do których sie nie stosujesz.

  1. <?php
  2. $polaczenie = "host=$host port=$port dbname=$dbname user=$user password=$password";
  3. //wyciety tekst
  4. function zaloguj($aAutor){
  5.       $db = pg_connect($polaczenie)
  6.       or die($this->blad("Blad polaczenia z baza danych " . pg_last_error($db)));
  7. ?>


nadal nie przekazujesz danych do połączenia z bazą do funkcji zaloguj(), tylko jakiegoś autora.
Powinno być tak:
  1. <?php
  2. function zaloguj($polaczenie) {
  3.   $db = pg_connect($polaczenie);
  4. ...
  5. ?>


a nie, jak u Ciebie:
  1. <?php
  2. function zaloguj($aAuthor) {
  3.   $db = pg_connect($polaczenie);  <- sk&#261;d f-cja zaloguj() ma wiedzieć, co to jest $polaczenie ?
  4. ...
  5. ?>

//EDIT $db - tu jest ok, teraz to ja juz się zamotałem

Komunikaty błędów:
Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: FATAL: Ident authentication failed for user "www-data" in /var/www/test/index.php on line 462
Nie mogę połączyć się z serwerem PostgreSQL. Autentykacja nie powiodła się (czyli coś masz zje....ne w parametrach połączenia)

Warning: pg_last_error(): supplied argument is not a valid PostgreSQL link resource in /var/www/test/index.php on line 463
<h3 class="blad">BLAD: Blad polaczenia z baza danych </h3>
Spodziewany argument nie jest prawidłowym zasobem PostgreSQL.


1. Manual.
2. Angielski.
3. Myślenie.

Ten post edytował blooregard 25.06.2009, 22:29:50
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 18.10.2025 - 02:16