Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]biblioteka PDO
michal_robak
post
Post #1





Grupa: Zarejestrowani
Postów: 115
Pomógł: 12
Dołączył: 13.05.2006

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


Hello. Mam takie pytanie. Może ktoś będzie mi mógł doradzić.

Niewiele materiałów jest na necie na temat tej biblioteki a jak są to się powielają a mi chodzi o rzeczy formalne np:

1.czy PDO lib będzie miała jakiś wpływ na szybkość wykonywanych zapytań do bazy (bo zauważyłem że troche to sie mieli jakby dlużej niż normalne zapytania MYSQL-a).
2.pobranie treść w mysql :

  1. <?php
  2. $dane = mysql_fetch_assoc(mysql_query("SELECT *FROM profile"));
  3. ?>


i mam jeden rekord ... w PDO lib:

  1. <?php
  2. $zapytanie = $db -> query("SELECT *FROM profile");
  3. $zapytanie -> fetch();
  4. ?>


i jeszcze nie doczytałem czemu ale musze używać $zapytanie -> execute(); żeby pobrało mi dane.

3. Tekst dotyczący closeCursor():

Cytat
Po zakończeniu pobierania niezbędne jest zamknięcie zbioru wyników poleceniem closeCursor() - inaczej nie będziemy w stanie wysłać następnego zapytania


Czy to znaczy że jak mam coś takiego:

  1. <?php
  2. $firmaQ = $db -> prepare("SELECT Fid,nazwafirmy,miasto FROM firmy WHERE Fid = ?");
  3. $firmaQ -> bindValue(1,$dane['Zid'],PDO::PARAM_STR);
  4. $firmaQ -> execute();
  5. $firma = $firmaQ -> fetch();
  6.            
  7.            
  8. $zdjentkoQ = $db -> prepare("SELECT url_mini FROM obrazki_firmy WHERE Fid = ?");
  9. $zdjentkoQ -> bindValue(1,$firma['Fid'],PDO::PARAM_STR);
  10. $zdjentkoQ -> execute();
  11. $zdjentko = $zdjentkoQ -> fetch();
  12. ?>


następnie w kodzie pobieram dane z tablicy $firma oraz $zdjentko. Według tego powyższego tekstu drugie zapytanie nie powinno zadziałać a tu jednak działa. I teraz gdzie powininem dodać kod:

  1. <?php
  2. $zdjentkoQ = closeCursor();
  3. $firmaQ = closeCursor();
  4. ?>


na końcu strony??. Czy może wcale to nie jest potrzebne??.

5. Kolejne pytanko. W tym zapytaniu:

  1. <?php
  2. $zdjentkoQ = $db -> prepare("SELECT url_mini FROM obrazki_firmy WHERE glowny = 1 AND Fid = ?");
  3. $zdjentkoQ -> bindValue(1,$firma['Fid'],PDO::PARAM_STR);
  4. ?>


W pierwszej linijce mam znak zapytania ... za jego pomocą wiążę to co jest w następnej linijce. Teraz podając parametr PDO::PARAM_STR nie musze tego zapytania wykonywać w ten sposób:
  1. <?php
  2. $zdjentkoQ = $db -> prepare("SELECT url_mini FROM obrazki_firmy WHERE glowny = 1 AND Fid = '?'");
  3. ?>

czyli nie musze dodawać ciapków (czyt. cudzystowy).

4. Wydaje mi się że mimo iż ta biblioteka jest wychwalana to jednak jest chyba nieco męcząca.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 25.09.2025 - 20:58