Kupiłem książkę http://helion.pl/ksiazki/php5zp.htm. Miałem zamiar nauczyć się prawidłowego programowania w PHP.
Lecz już na wstępie napotkałem problem:), mianowicie mam bazę danych MySQL(uczyłem się wcześniej zpytań tej bazy danych oraz łączenia z PHP5) a wszystko w tej książce jest pisane pod PostgreSQL(wiem że różnice są nie wielkie w zapytaniach pomiędzy tymi bazami danych).
Czy ktoś może mi pomóc przetłumaczyć te zapytania na MySQL tak aby skrypt działał prawidłowo?
Kod: class.Widget.php
<?php class Widget { private $id; private $name; private $description; private $hDB; private $needsUpdating = false; public function __construct($widgetID) { //Parametr widgetID to klucz główny rekordu //w bazie danych, zawierającego dane //tego obiektu //Tworzy uchwyt połączenia i zachowuje go w prywatnej zmiennej składowej throw new Exception('Nie można połączyć się z bazą danych.'); } $sql = "SELECT \"nazwa\", \"opis\" FROM artykul WHERE nr_artykułu = $widgetID"; throw new Exception("Błąd przy wykonywaniu instrukcji wyboru."); } throw new Exception('Szukanego artykułu nie ma w bazie!'); } $this->id = $widgetID; $this->name = $data['nazwa']; $this->description = $data['opis']; } public function getName() { return $this->name; } public function getDescription() { return $this->description; } public function setName($name) { $this->name = $name; $this->needsUpdating = true; } public function setDescription($description) { $this->description = $description; $this->needsUpdating = true; } public function __destruct() { if(! $this->needsUpdating) { return; } $sql = 'UPDATE "artykul" SET '; $sql .= "WHERE nr_artykulu = " . $this->id; throw new Exception('Wystąpił błąd podczas aktualizacji bazy danych'); } //Koniec operacji na bazie danych. Zamkmnięcie połączenia. } } ?>
Kod: testwidget.php
<?php require_once('class.Widget.php'); try { $objWidget = new Widget(1); $objWidget->setName('Buty'); $objWidget->setDescription('Buty z dużym przebiegiem!'); } catch (Exception $e) { } ?>