Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dostep do bazy + smarty
Forum PHP.pl > Forum > PHP
misty
hej!
mam u siebie klase DbBase ktora implementuje ISingleton. Tworzony jest w niej obiekt odpowiedzialny za polaczenie z baza:

  1. SystemInit::getInstance()->pushDBContext('test');
  2. $this->DB_TEST = SystemInit::getInstance()->getDBConnection();
  3. SystemInit::getInstance()->popDBContext();


teraz mam sobie jakas tam klase ABC i w niej chce wykonac zapytanie do bazy. ale jak robie:

  1. $this->DbBase->DB_TEST->query($query);


to dostaje ze
  1. Call to a member function query() on a non-object

czyli on nie kuma DB_TEST. jednak na poczatku pliku dolaczylam te klase:
  1. require_once 'php/lib/dbcommon/DbBase.class.php';


probowalam rowniez:
  1. $this->DB_TEST->query($query);


ale komunikat ten sam.. czy ktos z Was wie jak moge sie odwolac do tego obiektu?
pzdr
ADeM
DB_TEST nie zwraca obiektu.
misty
zrobilam tak:
utworzylam obiekt
  1. $dbBase = DbBase::getInstance();
a pozniej poprzez niego probowalam odwolac sie do DB_TEST:

  1. $query = "SELECT * FROM test.tabela where id=1";
  2. $result = $dbBase->DB_TEST->query($query);


ale dostaje:
DB Error: connect failed

zastanawiam sie czemu? w pliku Config.php mam zdefiniowane parametry do tej bazy:

  1. 'test' => array(
  2. 'dsn' => array(
  3. 'phptype' => 'pgsql',
  4. 'hostspec' => '127.0.0.1',
  5. 'port' => '5432',
  6. 'database' => 'test',
  7. 'username' => 'postgres',
  8. 'password' => 'postgres',
  9. ),
  10. 'options' => array(
  11. 'persistent' => 'true',
  12. 'optimize' => 'performance',
  13. ),
  14. ),


Problem zostal rozwiazany
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.