Mam problem z wyciągnięciem odpowiednich danych z bazy danych, otóż mam metodę klasy Database, która nazywa się select, a wygląda następująco:
$stmt = $this->prepare($query_string); foreach($values as $key => $value){ $stmt->bindValue(':'.$key, $value); } $stmt->execute(); if($count === true){ 'count' => $stmt->rowCount(), 'data' => $stmt->fetchAll(PDO::FETCH_ASSOC) ); } return $stmt->fetchAll(PDO::FETCH_ASSOC); }
No i metodę getProducts umieszczoną w jednym z modeli:
public function getProducts($sortBy = null, $order = null, $pageDelimiter = null, $perPage = null, $where = null){ if($sortBy != null && $pageDelimiter != null && $where != null){ $result = $this->db->select('SELECT * FROM shop_items ORDER BY :sortBy :order WHERE :whereString LIMIT :pageDelimiter , :perPage', array('sortBy' => $sortBy, 'order' => $order, 'whereString' => $where, 'pageDelimiter' => $pageDelimiter, 'perPage' => $perPage)); } elseif($sortBy != null && $pageDelimiter != null){ $result = $this->db->select('SELECT * FROM shop_items ORDER BY :sortBy :order LIMIT :pageDelimiter , :perPage', array('sortBy' => $sortBy, 'order' => $order, 'pageDelimiter' => $pageDelimiter, 'perPage' => $perPage)); } elseif($sortBy != null){ $result = $this->db->select('SELECT * FROM shop_items ORDER BY :sortBy :order', array('sortBy' => $sortBy, 'order' => $order)); } elseif($sortBy == null && $pageDelimiter == null){ $result = $this->db->select('SELECT * FROM shop_items'); } return $result; }
Z tego print_r($result) otrzymuję:
PDOStatement Object ( [queryString] => SELECT * FROM shop_items ORDER BY :sortBy :order LIMIT :pageDelimiter , :perPage ) PDOStatement Object ( [queryString] => SELECT * FROM shop_items ORDER BY :sortBy :order LIMIT :pageDelimiter , :perPage ) PDOStatement Object ( [queryString] => SELECT * FROM shop_items ORDER BY :sortBy :order WHERE :whereString LIMIT :pageDelimiter , :perPage )
Czyli wszystko tak jak potrzebuję, jednak po przeskanowaniu zmiennej $result, która przetrzymuje wynik działania metody otrzymuję:
3 puste tablice.
Gdy skopiuję zapytanie wygenerowane przez metodę i użyję ręcznie odstawiając dane, wszystko ładnie działa i nie mogę znaleźć problemu.
Proszę o pomoc

@EDIT
Cytat
Z tego print_r($result) otrzymuję:
Miałem na myśli print_r($stmt);