->delete()

->delete() -- Delete items from table

Synopsis

int $DB_DataObject->delete ([boolean $useWhere])

Description

Deletes data from the database, either using primary key or based on a whereAdd() method call. By default the delete will base its query on the set variables, however if you wish to use the whereAdd() method you should set the $useWhere parameter to DB_DATAOBJECT_WHEREADD_ONLY.

Parameter

Return value

int number of rows affected or FALSE on failure

Throws

Table 39-1. Possible PEAR_Error values

Error codeError messageMeaningSolution
DB_*"*"see PEAR::DBsee PEAR::DB
DB_DATAOBJECT_ERROR_NODATA "delete: No Data specifed for query $condition"   

Note

This function can not be called statically.

Example

Example 39-1. Simple Delete


<?php
$person = new DataObjects_Person;
$person->get(12);
$person->delete();

$person       = new DataObjects_Person;
$person->name 'test';
$person->age  21;
$person->delete();

$person = new DataObjects_Person;
$person->whereAdd('age < 21');
$person->delete(DB_DATAOBJECT_WHEREADD_ONLY);
?>

Example 39-2. Resulting SQL


<?php
SELECT FROM person WHERE person.id 12
DELETE FROM person WHERE person.id 12 )

DELETE FROM person WHERE person.name 'test' ) AND ( person.age 21 )

DELETE FROM person WHERE age 21 )
?>