Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php/PDO] Modyfikacja kodu
-Maciej B.-
post 12.03.2006, 00:07:32
Post #1





Goście







Witam, jestem w trakcie przerabiania klasy w ktorej zostalo wykorzystane PDO - na zwykle zapytania do bazy.
Mam problem z ponizszym fragmenetem:
  1. <?php
  2. $stmt = pdo->prepare(zapytanie do bazy...)
  3. $stmt -> setFetchMode(PDO::FETCH_CLASS, 'user',
  4. array(=> false));
  5. if($user = $stmt -> fetch())
  6. {
  7. $stmt -> closeCursor();
  8. return $user;
  9. }
  10. ?>

Mianowicie nie wiem jak ugrysc - tzn zamienic na 'zwykly kod':
  1. <?php
  2. $stmt -> setFetchMode(PDO::FETCH_CLASS, 'user',
  3. array(=> false));
  4. ?>

Prosze o pomoc
Go to the top of the page
+Quote Post
dr_bonzo
post 12.03.2006, 01:41:04
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


1. co to jest zwykly kod?
2. co to jest zwykle zapytanie do bazy?


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
-Maciej B.-
post 12.03.2006, 02:13:17
Post #3





Goście







Chodzi mi o uzyskanie tego samego efektu bez uzycia PDO.
Za zwykle zapytanie do bazy rozumiem:
  1. <?php
  2. $query = "Select * ....";
  3. mysql_query($query);
  4. ?>
Go to the top of the page
+Quote Post
-Maciej B.-
post 12.03.2006, 17:31:23
Post #4





Goście







Czy nikt nie wie jak rozwiazac moj problem ?
Wybaczcie za dwa posty pod soba
Go to the top of the page
+Quote Post
dr_bonzo
post 12.03.2006, 17:51:55
Post #5





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Cytat
Czy nikt nie wie jak rozwiazac moj problem ?

Jakby kos wiedzial to by pewnie odpowiedzial -- zobacz jak niewiele tematow pozostaje bez odpowiedzi.
Cytat
Wybaczcie za dwa posty pod soba
Wystarczy sie zarejestrowac -- bedziesz mogl edytowac posty/usuwac-i-ponownie-wyslac-tego-samego-posta-zamiast-pisac-pod-spodem-kolejnego.

W manualu jest wszystko:
* tresc zapytania pozostaje bez zmian
* wykonujesz to zapytanie
*
  1. <?php
  2.  $stmt -> setFetchMode(PDO::FETCH_CLASS, 'user',
  3. array(=> false));
  4. ?>

ustawienie typu zwracanych danych -- obiekt, klasy 'user', parametry konstruktora sa w array(0 => false)

http://pl2.php.net/manual/en/function.pdos...etfetchmode.php, w komentarzach:
Cytat
PDO::FETCH_CLASS may be used only with this method and it takes up to three parameters then:
- int mode
- string className
- array constructorArgs (optional)


* teraz musisz uzyc odpowiedniego mysql_fetch_*() do pobrania wynikow:
object mysql_fetch_object ( resource result )
http://pl2.php.net/manual/en/function.mysql-fetch-object.php

  1. <?php
  2. if ( $user = mysql_fetch_object(... )) 
  3. {
  4.  return $user;
  5. }
  6. ?>
z ta roznica ze nie mozesz okreslic klasy obiektu ktory ma byc zwrocony, bycmoze to nie ma znaczenia -- nie wiem jak dalej korzystasz z tego obiektu.


--------------------
Nie lubię jednorożców.
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: 19.07.2025 - 16:14