Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP][PDO]Nie podpina wartości?
Forum PHP.pl > Forum > Przedszkole
Mefiuu
Witam. Próbuję ogarnąć PDO, żeby moje aplikacje z niego korzystały, ale podczas przepisywania jednej coś mi nie hula. Mam taką funkcję:

  1. public function selectImages($gosc) {
  2. $stmt = $this->pdo->prepare("SELECT logo FROM druzyny WHERE nazwa= :gosc");
  3.  
  4. $stmt->bindValue(':gosc', $gosc, PDO::PARAM_STR);
  5.  
  6. $stmt->execute();
  7.  
  8. $this->herby['gosc'] = $stmt->fetch();
  9.  
  10. $stmt->closeCursor();
  11.  
  12. return $this->herby;
  13.  
  14. }
  15.  

Zwyczajna, do pobierania dwóch obrazków (nazw) z bazy danych. Przekazuję je w parametrze, przygotowuję pierwsze zapytanie do bazy, wykonuję, przypisuję do tablicy $this->herby['gosc'], zamykam zapytanie i zwracam wynik. Jednak to nie działa. Nie pobiera obrazka. Jeśli podam w międzyczasie var_dump($stmt) to zwraca mi

"SELECT logo FROM druzyny WHERE nazwa= :gosc"

tak jakby mi nie podpięło tej wartości którą przekazuję w parametrze. Co więcej, jeśli dodam 'na sztywno' co ma mi pobrać, czyli np . "F.C.Liverpool" to i tak mi to nie daje nic... Nie mam pojęcia dlaczego, dopiero się uczę PDO.

Wcześniejszą funkcję z pobraniem danych również zamknąłem poprzez: $stmt->closeCursor();

Proszę o pomoc, pozdrawiam.
b4rt3kk
  1. while ($resource = $stmt -> fetch(PDO::FETCH_ASSOC)) {
  2. $this->herby['gosc'] = $resource;
  3. }
Mefiuu
czyli rozumiem że nie ważne czy pobieram jedno pole rekordu (jak w tym wypadku tylko logo), czy całą tabelę, mam po tym przejechać pętlą while ?

bo w mysql_* jak pobierałem tylko logo to wystarczyło sypnąć mysql_result i grało aż miło...
Crozin
http://php.net/manual/en/class.pdostatement.php -> spójrz na interfejs tego obiektu (metody fetch*()).
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.