Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pytanie o PDO
Mayka
post
Post #1





Grupa: Zarejestrowani
Postów: 304
Pomógł: 1
Dołączył: 12.01.2009
Skąd: Kanapa

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


Dorwałem jakąś ksiązke heliona o programowaniu i zainteresowała mnie biiblioteka PDO tylko mam problem bo niewiem dlaczego takie coś nie zwraca całej tabeli asocjacyjnej tylko jeden jej wpis ? chodzi tu kkonkretnie o funkcje dbRow ale wysyłam nawszelki wypadek całość połączenia.

  1. function dbInit(){
  2. if(isset($GLOBALS['db']))return $GLOBALS['db'];
  3. global $DBVARS;
  4. $db=new PDO('mysql:host='.$DBVARS['hostname'].';dbname='.$DBVARS['db_name'],$DBVARS['username'],$DBVARS['password']);
  5. $db->query('SET NAMES utf8');
  6. $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  7. $db->num_queries=0;
  8. $GLOBALS['db']=$db;
  9. return $db;
  10. }
  11. function dbQuery($query){
  12. $db=dbInit();
  13. $q=$db->query($query);
  14. $db->num_queries++;
  15. return $q;
  16. }
  17. function dbRow($query) {
  18. $q = dbQuery($query);
  19. return $q->fetch(PDO::FETCH_ASSOC);
  20. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
d3ut3r
post
Post #2





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

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


Z dokumentacji:

Cytat
PDO will emulate prepared statements/bound parameters for drivers that do not natively support them, and can also rewrite named or question mark style parameter markers to something more appropriate, if the driver supports one style but not the other.


Więc nie jest to zwykłe API to także możliwość symulowania tej funkcjonalności w bazach bez jej obsługi. Oczywiście że to nie jedyne zabezpieczenie ale nie rozumiem w czym używanie tego miałoby być gorsze ?. Jeżeli już używamy PDO to łatwiej moim zdaniem skorzystać z bindowania parametrów.

PDO nie jest lekarstwem na całe zło i jak udowodniono nawet w postach na forum, można z niego korzystać a i tak mieć podatny na ataki system, można też z niego nie korzystać i mieć system bezpieczny. Jednak moim zdaniem nie ma sensu wracać do funkcji typu mysql_query();
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: 5.10.2025 - 16:00