Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Łączenie z bazą za pomocą klasy, Problem z tworzeniem obiektu
mysql_php
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 1.08.2006

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


Witam, napisałem taki skrypt do łączenia się z bazą postgrees, prosty ponieważ dopiero się uczę:

  1. <?php
  2. class db {
  3. var $dbname;
  4. var $connection;
  5. var $result;
  6.  
  7.  
  8.  
  9.  
  10. function db($user, $dbname, $host, $password, $port){
  11. $this-> connection = @pg_connect($user,$dbname,$host,$password,$port);
  12. }
  13.  
  14. function query($query){
  15. $this-> query = $query;
  16. $this-> result = pg_exec($this->connection, $this->query);
  17. }
  18.  
  19. function close(){
  20. pg_close($this->connection);
  21. }
  22. }
  23. ?>


Niestety nie wiem, jak potem korzystać z tej klasy (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Mam plik "zawartosc.php" W którym includuję plik klasy, próbuję nawiązać połączenie z bazą
za pomocą klasy i dodać jakiś rekord, wiem, że samo łączenie powinno wyglądać tak:

  1. <?php
  2. $db = new db('aaaaa', 'bbbbb', 'gggg.gg.gg', 'tajne', '54321');
  3. ?>


niestety nie wiem jak się "dobrac" do $query, $result oraz pg_close();

Czy mógłby mi ktoś pomóc i napisac jak będzie wyglądało takie kompletne połączenie?

Ten post edytował mysql_php 14.01.2007, 09:10:17
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mysql_php
post
Post #2





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 1.08.2006

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


Ok, to podsumowując:

klasy uzywam takiej:
  1. <?php
  2.  
  3. class db {
  4. var $dbname;
  5. var $connection;
  6. var $result;
  7.  
  8. function db($user, $dbname, $host, $password, $port){
  9.  $this-> connection = pg_connect($user,$dbname,$host,$password,$port);
  10.  }
  11.  
  12. function query($query){
  13. $this-> query = $query;
  14. $this-> result = pg_exec($this->connection, $this->query);
  15.  
  16. if (!$this->result) {
  17. die('blad' . pg_result_error($this->result));
  18. }
  19. }
  20.  
  21. function close(){
  22. pg_close($this->connection);
  23. }
  24.  
  25. }
  26. ?>


W pliku używam jej tak:

  1. <?php
  2. include('klasa.php');
  3.  
  4. if($_POST['skrypt'] == 'dodajf'){
  5.  
  6. $db = new db('romek', 'romek', 'xxxx.xx.xxx', 'xxxxxxxxxxx', '54321');
  7.  
  8. $db -> query("insert into w_filmy (nazwa_oryg, nazwa_pl, gatunek, czas, nosnik, rok_prod, kraj, od_lat, premie
    ra, status) values('"
    .$_POST['nazwa_oryg']."','".$_POST['nazwa_pl']."','".$_POST['gatunek']."','".$_POST['czas']."','".$_POST['nosnik']."','".$_POST['rok_prod']."','".$_POST['kraj']."','".$_POST['od_lat']."','".$_POST['premiera']."','0'");
  9.  
  10. $db -> result;// = pg_exec($query);
  11. $db-> close();
  12. };
  13. ?>


Po próbie dodanie jakieś rekordu, mam komunikat:
  1. <?php
  2. Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: could not translate host name "romek" to address: Name or service not known in /home/informatyka/public_html/klasa.php on line 9
  3.  
  4. Warning: pg_exec(): supplied argument is not a valid PostgreSQL link resource in /home/informatyka/public_html/klasa.php on line 14
  5. blad
  6. ?>


Już nie wiem co jest źle (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 26.12.2025 - 04:15