Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Baza danych - problem
Forum PHP.pl > Forum > PHP
wojcikpilka
Witam wszystkich.
Dołączyłem do mojej strony napisanej w drupalu małą bazę danych zapisaną w accesie. Oto kod który użyłem by sie połączyć i wyświetlić wyniki:
  1. <?php
  2. include_once('adodb5\adodb.inc.php');
  3. $db = NewADOConnection('access');
  4. $db->Connect('Driver={Microsoft Access Driver (*.mdb)};Dbq='.realpath('sites\92046.drupal.lab.kti.ue.poznan.pl\gazeciarnia.mdb'));
  5. // polecenie SQL
  6. $sql = "select idp, Nazwa, Cena, Kategoria from Tabela1";
  7. $rs = $db->Execute($sql);
  8. // odczyt danych
  9. while (!$rs->EOF) {
  10. echo $rs->Fields("Nazwa");
  11. echo " ";
  12. echo $rs->Fields("Cena");
  13. echo " ";
  14. echo $rs->Fields("Kategoria");
  15. echo " ";
  16. echo "<br/>";
  17. $rs->MoveNext();
  18. }
  19. // koniec pracy z baza danych
  20. $db->Close();
  21. ?>


Niestety kod jest niepoprawny. Wyświetla się błąd:
bool(false)
Fatal error: Call to a member function Fields() on a non-object in C:\bin\apache22\htdocs\includes\common.inc(1695) : eval()'d code on line 12

Bardzo bym prosił o pomoc, jest mi to potrzebne do zaliczenia przedmiotu.
Z góry dziękuje
Pozdrawiam:) [php][/php]
Ociu
Przykład z manuala AdoDB wszystko obrazuje:
  1. $db->SetFetchMode(ADODB_FETCH_NUM);
  2.  
  3. $rs1 = $db->Execute('select * from table');
  4.  
  5. $db->SetFetchMode(ADODB_FETCH_ASSOC);
  6.  
  7. $rs2 = $db->Execute('select * from table');
  8.  
  9. print_r($rs1->fields); # shows array([0]=>'v0',[1] =>'v1')
  10. print_r($rs2->fields); # shows array(['col1']=>'v0',['col2'] =>'v1')


Jak widać, nawet z treści błędu, obiekt NewADOConnection nie funkcji Fields.
wojcikpilka
Tylko sie nie śmiej. Więc co to znaczy? Jak mam zrobić żeby było dobrze. Bo niestety nie rozumiem w ogóle tematu.
vermis
Według tego co podał @Ociu $rs->fields jest tablicą, a nie funkcją.
Przed linią nr 7 wstaw
  1. $db->SetFetchMode(ADODB_FETCH_ASSOC);

a potem odwołaj się tak:
  1. $rs->fields['Nazwa'];

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.