Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP][PDO]Nie podpina wartości?
Mefiuu
post 10.01.2013, 18:21:31
Post #1





Grupa: Zarejestrowani
Postów: 371
Pomógł: 18
Dołączył: 23.11.2008

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
b4rt3kk
post 10.01.2013, 18:29:59
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


  1. while ($resource = $stmt -> fetch(PDO::FETCH_ASSOC)) {
  2. $this->herby['gosc'] = $resource;
  3. }


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
Mefiuu
post 10.01.2013, 18:40:10
Post #3





Grupa: Zarejestrowani
Postów: 371
Pomógł: 18
Dołączył: 23.11.2008

Ostrzeżenie: (0%)
-----


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...
Go to the top of the page
+Quote Post
Crozin
post 10.01.2013, 20:41:27
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


http://php.net/manual/en/class.pdostatement.php -> spójrz na interfejs tego obiektu (metody fetch*()).
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:40