Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Wczytywanie class, połączenie z bazą
kristaps
post 14.06.2012, 23:59:17
Post #1





Grupa: Zarejestrowani
Postów: 279
Pomógł: 36
Dołączył: 1.03.2012

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


Witam, mam pewien problem. Napisałem sobie prostą funkcję do wczytywania class. W ten sposób dodaje np class_connect.php, itd. Problem w tym, że jeżeli dodam kolejny plik z funkcją, która wymaga połączenia z bazą otrzymuję komunikat:

Cytat
Warning: ibase_query() [function.ibase-query]: invalid database handle (no active connection) in D:\Programy\WebServ\httpd\fine\class\class_getnr.php on line 13

Warning: ibase_fetch_assoc(): supplied argument is not a valid Firebird/InterBase result resource in D:\Programy\WebServ\httpd\fine\class\class_getnr.php on line 15


Funkcja do łączenia się z bazą fdb wygląda następująco:

  1. <?php
  2.  
  3. class class_connect
  4. {
  5. public function __construct()
  6. {
  7. $host = 'D:\PROJEKT\DB.FDB';
  8. $db = ibase_connect($host, $username, $password,'WIN1250') or die("<br>" . ibase_errmsg());
  9. }
  10. }


Jak przerobić funkcję by połączenie "docierało" do pozostałych funkcji?

Z góry dziękuję za pomoc,
pozdrawiam.

----------------------------

Ok, troszeczkę poczytałem i wiem już wstępnie co robię nie tak.


Pytanie do osób, które piszą obiektowo. Jak odwołać się do klasy class_connect() w innym pliku? Próbowałem z $this->class_connect = $db; jednak nadal otrzymuje ten sam komunikat.


  1. <?php
  2.  
  3. class class_getartnr
  4. {
  5.  
  6. function __construct()
  7. {
  8.  
  9. $this->class_connect = $db;
  10.  
  11. $kod = $_POST['kod'];
  12.  
  13. $stmt = "select * from DBart where artnr = '$kod'";
  14. $sth = ibase_query($db, $stmt);
  15.  
  16. while ($row = ibase_fetch_assoc($sth))
  17. {
  18. $art = $row["ART"]; $dr = $row["DR"]; $gen = $row["GEN"];
  19. }
  20.  
  21. }
  22. }


Ten post edytował kristaps 15.06.2012, 00:00:34
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
CuteOne
post 15.06.2012, 00:31:44
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Zostaw obiektówkę jeżeli jej nie rozumiesz bo tylko (co widać) narobisz sobie problemów. Wrzuć kod połączenia z bazą do plików db_connect.php a go zaincluduj w index.php.

ps. poczytaj trochę o obiektówce bo samo "class", "this" i "public" to nie oop
Go to the top of the page
+Quote Post
Rysh
post 15.06.2012, 06:37:29
Post #3





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Poza tym co mówi CuteOne, używaj include_once i require_once.


--------------------
Go to the top of the page
+Quote Post
kristaps
post 15.06.2012, 08:59:20
Post #4





Grupa: Zarejestrowani
Postów: 279
Pomógł: 36
Dołączył: 1.03.2012

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


Dzięki za rady. W całości chodzi tylko oto by móc każdą większą funkcję aplikacji trzymać w osobnym pliku, wtedy łatwiej mi to kontrolować.
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: 19.07.2025 - 16:14