Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL][PostgreSQL] połączenie:>
Forum PHP.pl > Forum > Przedszkole
plej
  1. <?php
  2. class Widget {
  3.  
  4. private $id;
  5. private $name;
  6. private $description; private $hDB;
  7. private $needsUpdating = false;
  8.  
  9. public function __construct($widgetID) {
  10. // Parametr widgetID to klucz główny rekordu
  11. // w bazie zawierającego dane
  12. // tego obiektu
  13.  
  14. // tworzymy uchwyt połączenia i zachowuje go w prywatnej zmiennej składowej
  15. $this-> pg_connect('dbname=localhost user=root');
  16. if(! is_resource($this->hDB)) {
  17. throw new Exception('Nie można połączyć się z bazą danych.');
  18. }
  19.  
  20. $sql = "SELECT \"nazwa\". \"opis\" FROM artykul WHERE nr_artykulu = $widgetID";
  21. $rs = pg_connect($this->hDB, $sql);
  22. if(!is_resource($rs)) {
  23. throw new Exception("Błąd przy wykonywaniu instrukcji wyboru");
  24. }
  25.  
  26. if(!pg_num_rows($rs)) {
  27. throw new Exception('Szukanego artykulu nie ma w bazie!');
  28. }
  29.  
  30. $data = pg_fetch_array($rs);
  31. $this->id = $widgetID;
  32. $this->name = $data['nazwa'];
  33. $this->description = $data['opis'];
  34.  
  35. }
  36.  
  37. public function getName() {
  38. return $this->name;
  39. }
  40.  
  41. public function getDescription() {
  42. return $this->description;
  43. }
  44.  
  45. public function setDescription($description) {
  46. $this->description = $description;
  47. $this->needsUpdating = true;
  48. }
  49.  
  50. public function __destruct() {
  51. if(!$this->needsUpdating) {
  52. return;
  53. }
  54.  
  55. $sql = 'UPDATE "artykul" SET ';
  56. $sql = "\"nazwa\" = '" .$this->name . "', ";
  57. $sql = "\"opis\" = '" .$this->description . "' ";
  58. $sql = "WHERE nr_artykulu =" .$this->id;
  59.  
  60. $rs = pg_query($this->hDB, $sql);
  61. if(!is_resource($rs)) {
  62. throw new Exception('Wystąpił bład podczas aktualizacji bazy danych');
  63. }
  64.  
  65. // Konie operacji na bazie danyc. Zamknięcie połączenia.
  66. pg_close($this->hDB);
  67. }
  68. }
  69. ?>


Mam taki skrypt z książki bo dopiero zaczynam zabawe z obiektowym:)
no ale mam problem bo jak niektórzy zauwarzyli jest wykorzystywana baza PostgreSQL niestety nie wiem jak ją na xamppie zrobić a więc się tak zastanawiam jak to zmienić żeby na phpmyadminie działa wie ktoś?
chodzi o pierwsze czyli zaraz o połączenie reszte to pewnie tam rade biggrin.gif
z góry dziękuje i zaznaczam że to pilne bardzo.. najlepiej przed 8 bym musiał to mieć już:]

Pozdrawiam/:)
mortus
Cytat
jak to zmienić żeby na phpmyadminie działa

Nie na phpMyAdminie, a na silniku mySQL. phpMyAdmin to skrypt do zarządzania bazami danych mySQL.
Jak w powyższym kodzie możesz zauważyć nazwy funkcji do komunikacji z PostgreSQL zaczynają się od pg_. Myślę, że jeśli masz jako takie pojęcie, to taka podpowiedź wystarczy. Oczywiście pamiętaj, że odpowiednie funkcję dla mySQL mogą mieć nieco inne parametry.
plej
Tak wiem biggrin.gif już sb z tym poradziłem..
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.