Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wczytywanie class, połączenie z bazą
Forum PHP.pl > Forum > Przedszkole
kristaps
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. }
CuteOne
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
Rysh
Poza tym co mówi CuteOne, używaj include_once i require_once.
kristaps
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ć.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.