odkąd zacząłem czytać wszystko co mi wpadło w rękę odnośnie php to zawsze ucierało się przeświadczenie, że tworząc sobie plik z funckjami bazy to w nim wpisywało się hasło, bazę i dalej tylko icludowało się taki gotowiec i o haśle się nie myślało, bo było w jednym miejscu.
Teraz o stopień wyżej zacząłem czyli OO i tu mam następujący problem. Poniżej znajduje się klasa BD:
<?php class BD { // parametry połączeniowe var $wezel = ''; var $uzytkownik = ''; var $haslo = ''; var $bazadanych= ''; var $trwale = false; // identyfikator połączenia z bazą danych var $pol = NULL; // wynik zapytania var $wynik = false; function BD($wezel, $uzytkownik, $haslo, $bazadanych, $trwale = false) { $this->wezel = $wezel; $this->uzytkownik = $uzytkownik; $this->haslo = $haslo; $this->bazadanych = $bazadanych; $this->trwale = $trwale; } function otworz() { // wybierz właściwą funkcję połączeniową if ($this->trwale) { $funkcja = 'mysql_pconnect'; } else { $funkcja = 'mysql_connect'; } // nawiąż połączenie z serwerem MySQL $this->pol = $funkcja($this->wezel, $this->uzytkownik, $this->haslo); if (!$this->pol) { return false; } // ustaw wskazaną bazę danych jako bieżącą return false; } return true; } function zamknij() { } function blad() { } function zapytaj($zapytanie = '') { return ($this->wynik != false); } function liczbaZmienionychWierszy() { } function liczbaWierszy() { } function pobierzObiekt() { } function pobierzTablice() { } function pobierzTabliceAsocjacyjna() { } function zwolnijZbiorWynikowy() { } } ?>
teraz jak wywołuję tą klasę w jakimś innym pliku:
załączam go przez indlude i później wywołuję:
<?php $bd = new BD ('db.st.interia.pl', '11111', '11111', 'db11111'); ?>
no i tu tkwi problem, że za każdym razem jak wywyłuję tą klasę to muszę to klepać we wszystkich osobnych plikach, znowu jak chciałem określić te parametry w ciele klasy to mi określa złego użytkownika.
pozdrawiam