personTest.php dbh = $dbh; $person->setFullname($fullname); $person->setBirthdate($birthdate); $person->setCountryCode($country_code); //print $person->getFullname() ."\n"; //var_dump($person); $person->store(); // print "id: ". $person->getId() ."\n";s $person->setFullname('New Name'); $person->store(); $person2 = new Person(); $person2->dbh = $dbh; $person2->read($person->getId()); // print "Name: ". $person2->getFullname() ."\n"; $this->assertEquals($person2->getFullname(), $person->getFullname()); $this->assertEquals($person2->getBirthdate(), $person->getBirthdate()); $person2->delete(); # $person3 = new Person(); # $person3->read($person->getId()); # sollte einen Fehler produzieren } } lib/Init.php lib/Person.php fullname = $value; } function getFullname() { return $this->fullname; } function setBirthdate($value) { $this->birthdate = $value; } function getBirthdate() { return $this->birthdate; } function setCountryCode($value) { $this->country_code = $value; } function getCountryCode() { return $this->country_code; } function setId($value) { $this->id = $value; } function getId() { return $this->id; } function store() { $op = ''; if ($this->id != '') { $op = 'update'; $sth = $this->dbh->prepare( "update person set fullname = ?, birthdate = ?, country_code = ? where id = ?" ); $sth->bind_param("sssi", $this->fullname, $this->birthdate, $this->country_code, $this->id); } else { $op = 'insert'; $sth = $this->dbh->prepare( "insert into person (fullname, birthdate, country_code) values (?, ?, ?)" ); $sth->bind_param("sss", $this->fullname, $this->birthdate, $this->country_code); } $sth->execute(); if ($op == 'insert') { $this->id = $sth->insert_id; } } function read($per_id) { $sth = $this->dbh->prepare( 'select id, fullname, birthdate, country_code from person where id = ?' ); $sth->bind_param("i", $per_id); $sth->execute(); $sth->bind_result($this->id, $this->fullname, $this->birthdate, $this->country_code); $sth->fetch(); } function delete() { $sth = $this->dbh->prepare( 'delete from person where id = ?' ); $sth->bind_param("i", $this->id); $sth->execute(); } }