Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]PHP OPP i PDO
adrianozo
post
Post #1





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

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


Witam wszystkich (IMG:style_emoticons/default/smile.gif)

Wreszcie zabrałem się za PHP OOP i bibliotekę PDO i mam pewien problem.
Chodzi o to, że napisałem sobie dwie klasy i w nich odpowiednie metody. Mam pewien problem z racji tego, że nie wiem jak dostać się do zmiennej $pdo z poprzedniej metody która odpowiada za połączenie z bazą. Zresztą poniżej pokaże jak to napisałem. Dodatkowo chciałbym prosić o mały komentarz na temat tego czy dobrze rozumiem OOP i PDO (IMG:style_emoticons/default/smile.gif)

Z góry dziękuje:

  1. <?php
  2. class base
  3. {
  4. private $host;
  5. private $dbname;
  6. private $user;
  7. private $password;
  8. protected function connection()
  9. {
  10. $host='localhost';
  11. $dbname='oop';
  12. $user='root';
  13. $password='Nanysek93';
  14. try
  15. {
  16. $pdo = new PDO('mysql:host='.$this->host.';dbname='.$this->dbname.'', ''.$this->user.'', ''.$this->password.'');
  17. $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  18. echo 'Polaczenie zostalo nawiazane!';
  19. }
  20. catch(PDOException $ex)
  21. {
  22. echo 'Polaczenie nie zostalo nawiazane: '.$ex->getMessage();
  23. }
  24. }
  25. protected function answer()
  26. {
  27. try
  28. {
  29. $stmt=$pdo->query('SELECT * FROM pdo');
  30. while($row=$stmt->fetch())
  31. {
  32. echo ''.$row['id'].': '.$row['nazwa'].'<br />';
  33. }
  34. $stmt->closeCursor();
  35. }
  36. catch(PDOException $ex)
  37. {
  38. echo 'Dane nie zostaly pobrane: '.$ex->getMessage();
  39. }
  40. }
  41. }
  42. class action extends base
  43. {
  44. public function callConnection()
  45. {
  46. return $this->connection();
  47. }
  48. public function callAnswer()
  49. {
  50. return $this->answer();
  51. }
  52. }
  53. $action = new action();
  54. $action->callConnection();
  55. $action->callAnswer();
  56. ?>


Problem widnieje w linii 29 ponieważ nie mam dostępu do zmiennej $pdo z poprzedniej metody i nie bardzo wiem jak się do niej dostać.
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:39