Do tej pory programowałem struturalnie i postanowiłem przesiąść się na obiektowe programowanie.
rozpoczołem nauke PHP5 i mam problem.
Stworzyłem plik class.Widget.php i index.php poniżej ich zawartości.
A mój problem polega na tym że nie pobiera danych z bazy danych, anie też nie otrzymuje żadnego komuniaktu błądu.
class.Widget.php
<?php class Widget{ private $id; private $name; private $description; private $hDB; private $polaczenie; private $needUpdateing = false; public function _construct($widgetID){ $this->hDB = new mysqli("localhost", "user", "hasło", "nazwa_bazy"); throw new Exception('nie można połączyć się z bazą'); } if(0 !== mysqli_connect_errno($this->hDB)) { throw new Exception(mysqli_connect_error($this->hDB)); } $sql = "SELECT * FROM artykul WHERE nr_artykulu = $widgetID"; $rs = $this->hDB->query($sql); throw new Exception('Błąd przy wykonywaniu instrukcji wyboru.'); } throw new Exception('Szukanego artykułu nie ma w bazie!'); } $data = $rs->fetch_array(); //$data = mysql_fetch_array($rs); $this->id=$widgetID; $this->name=$data['name']; $this->description=$data['opis']; } public function getName(){ return $this->name; } public function getDescription(){ return $this->description; } public function setName($name){ $this->name = $name; $this->needUpdating = true; } public function setDescription($description){ $this->description = $description; $this->needUpdating = true; } public function _destruct(){ if(! $this->needUpdating){ return; } $sql = 'UPDATE "artykul" SET'; $sql .= "WHERE nr_artykulu=".$this->id; //$rs=mysql_query($thishDB. $sql); throw new Exception('Wystąpił błąd podczas akutalizacji bazy danych.'); } } } ?>
i plik index.php
<?php require_once('class.Widget.php'); try{ $objWidget = new Widget('2'); $objWidget->setName('Trampki'); $objWidget->setDescription('Trampki o duzym przebiegu'); } catch (Expetion $e){ } ?>