Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Klasa do obsługi PDO - problem z definicją metod
Forum PHP.pl > Forum > PHP
coomler
Cześć,
mam klasę DataBasePDOConnect. Problem mam z metodą executeQueryPDO. Najpierw może przedstawię kod.
  1. public function prepareQueryPDO($query)
  2. {
  3. return self::$instance->prepare($query);
  4. }
  5.  
  6. public function executeQueryPDO()
  7. {
  8. return self::$instance->execute();
  9. }


Korzystam z tego, a w sumie chciałbym skorzystać z tego w następujący sposób:
  1. $db = new DataBasePDOConnect();
  2. $db->getConnection(); // połączenie z bazą zwraca self::$instance
  3.  
  4. try
  5. {
  6. $stmt = $db->prepareQueryPDO("SELECT * FROM news WHERE news_id = :id")->executeQueryPDO(array(':id' => $_GET['id'])); // chciałbym skorzystać z taiego zapisu
  7.  
  8. // zakomentowany kod działa
  9. // $stmt = $db->prepareQueryPDO("SELECT * FROM news WHERE news_id = :id");
  10. // $stmt->execute(array(':id' => $_GET['id']);
  11.  
  12. while ($result = $stmt->fetch(PDO::FETCH_OBJ))
  13. {
  14. echo $result->title . '<br />';
  15. }
  16. }
  17.  
  18. catch(PDOException $e)
  19. {
  20. echo $e->getMessage();
  21. }


Jak powinna wyglądać definicja metody executeQueryPDO ?

Proszę o pomoc. Dzięki.

PS. Z tego co czytałem korzystając z PDO, nie musimy się obawiać SQL Injection. To prawda?

EDIT: taki dostaję błąd
Kod
Fatal error: Call to undefined method PDOStatement::executeQueryPDO() in E:\xampp\xampp\htdocs\test.db.class.php on line 13
skowron-line
to co chcesz osiągnąć to chain.
Mephistofeles
I tak i nie, jeśli podpinasz parametry to tak, nie musisz się obawiać ataku. Natomiast gdy nadal dołączasz je do zapytania to niestety, ale to jest zła metoda i nadal musisz się zabezpieczać.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.