Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysqli]błąd ze zwracaniem wartości
Forum PHP.pl > Forum > PHP > Object-oriented programming
pag-r
Witam.
Mam klase, której metodą jest db, do łączenia z bazą danych Kiedy w metodzie poniżej opisanej wywołam kod dostaję error w postaci:Call to a member function fetch_object() on a non-object, który oznacza: Commands out of sync; you can't run this command now.
  1. public function getLastUpdateDate() {
  2. $result = $this->db->query('select distinct `dateTime` from logger order by `dateTime` desc limit 1');
  3. $row = $result->fetch_object();
  4. return $row->dateTime;
  5. }

Natomiast kiedy wywołam
  1. lecho $obj->getLastUpdateDate();[
  2. //wynikiem jest data, czyli to co być powinno

Wkleić dłuższą cześć kodu, czy juz tutaj widać, dlaczego tak się dzieję? Bo utknąłem i nie bardzo wiem gdzie.
Crozin
MySQLi?
Cytat
Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries mysqli_query() will return a result object. For other successful queries mysqli_query() will return TRUE.
pag-r
Nie wiem czy prawidłowo zrozumiałem, powyzszy post, ale czy chodzi o to, że nie zwraca danych?
  1. mysql> SELECT DISTINCT `dateTime` FROM logger ORDER BY `dateTime` DESC LIMIT 1;
  2. +---------------------+
  3. | dateTime |
  4. +---------------------+
  5. | 2010-12-12 21:23:37 |
  6. +---------------------+
  7. 1 row IN SET (0.00 sec)

Otóż zapytanie jest prawidłowe.
Crozin
W takim razie pokaż kod metody query.
pag-r
query jest z mysqli->query, a metoda database
  1. public function database($host, $login, $password, $database) {
  2. $this->host = $host;
  3. $this->login = $login;
  4. $this->password = $password;
  5. $this->database = $database;
  6. $this->db = new mysqli($this->host, $this->login, $this->password, $this->database);
  7. }
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.