![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 11.05.2013 Ostrzeżenie: (0%) ![]() ![]() |
Hej Wam,
od jakiegoś czasu, swoje skrypty opieram o bibliotekę PDO. Bardzo ją lubię, tworzenie przy niej kodu sprawia mi większą przyjemność niż korzystanie z klasycznego mysql_*. Jednak z powodu dość rzadkiego opisu posługiwania się nią, jest wiele kwestii, które budzą u mnie niepewność i zaciekawienie. Wiem, że są takie rzeczy jak manual, osobiście sam jestem wielkim zwolennikiem kopania danego hasła w google, aczkolwiek tym razem nie mogę nakierować się na odpowiednią ścieżkę. Tak więc, ciekawią mnie 2 rzeczy: 1. Kiedy mam wykorzystać $query->fetchAll(), zamiast normalnego $query->fetch(). Z tego co mój mózg wnioskuję, jeśli chcę przypisać sobie do zmiennej wszystkie wyniki pewnego zapytania, wtedy korzystam z fetchAll i mam do dyspozycji wszelkie pobrane rekordy, w jednym zasobniku - czy na pewno? 2. Do czego jest tryb zwracania wyników PDO::FETCH_OBJ? Wiem o nim tyle, że przedstawienie wyników, odbywa się w postaci anonimowego obiektu, o własnościach nazw pól. Ale w jakiej konkretnie sytuacji może on się okazać przydatny? Oraz, czy zdefiniowanie samego PDO::FETCH_ASSOC lub PDO::FETCH_NUM, zwracającego tablicę indeksowaną asocjacyjnie/numerycznie, jest wydajniejsze/szybsze niż to i to łączne (PDO::FETCH_BOTH)? I jeśli zapiszę $query->fetchObject() oraz $query->fetch(PDO::FETCH_OBJ) da mi to identyczny efekt? Pozdrawiam (IMG:style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 11.05.2013 Ostrzeżenie: (0%) ![]() ![]() |
jak ja lubię ludzi, którzy mnie rozumieją (IMG:style_emoticons/default/biggrin.gif)
poczułem się w pełni usatysfakcjonowany, jedyne co pozostało mi do szczęścia, to jeszcze jedna.. mała kwestia.. w zasadzie to 2 małe kwestię, które warto tu chyba podpiąć, a jak jest okazja, to chciałbym być jak najbardziej pewny swojej wiedzy. 1. Ten temat spotykany był wiele razy, m.in. zamknięcie wskaźnika zapytania. Według mojego rozumowania, $query->closeCursor(); powinienem umieszczać wszędzie, gdzie zarządzam nie całą liczbą wcześniej pobranych rekordów (np. nie po fetchAll), czy to znaczy, że obejmuję to także polecenia INSERT, UPDATE etc? 2. Czy zapis:
jest najszybszym sposobem sprawdzenia, czy zapytanie z INSERT dodało nowy rekord? ew. myślałem o takim sposobie: ale to chyba jednak, nie jest wcale lepsze rozwiązanie..? Ten post edytował SlimShady 6.07.2013, 23:32:24 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 02:02 |