->delete()
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
-
boolean $use_where
- use the whereAdd() conditions (by default, delete will only use primary keys)
Return value
int
number of rows affected or FALSE on failure
Throws
Error code | Error message | Meaning | Solution |
---|---|---|---|
DB_* | "*" | see PEAR::DB | see PEAR::DB |
DB_DATAOBJECT_ERROR_NODATA |
"delete: No Data specifed for query
$condition "
|
Note
This function can not be called statically.
Example
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);
?>
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 )
?>