Witam,
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
$this->hDB = pg_connect('dbname=parts user=postgres'); 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);
print "Nazwa artykułu: " . $objWidget->getName() . "<br>\n"; print "Opis artykułu: " . $objWidget->getDescription() . "<br>\n";
$objWidget->setName('Buty');
$objWidget->setDescription('Buty z dużym przebiegiem!');
} catch (Exception $e) {
die("Wystąpił problem: " . $e->getMessage()); }
?>