->insert()
Synopsis
mixed $DB_DataObject->insert (
)
Description
Insert the data into the database, based on the variable values of the current object and returns the ID of the inserted element if sequences or primary keys are being used. The values are correctly quoted, and some limited type checking is done.
With mysql, the mysql_next_id() method is used, on other databases, PEAR DB sequence method is used.
Note, insert() may not return the ID correctly in quite a few situations:
- If the database backend does not support it.
- The generator did not correctly flag the correct column as autoincrement/nextval
- An error occured (turn on debugging to see it)
- The insert failed or '0' rows where affected.
Return value
mixed
- Id or key
Throws
Error code | Error message | Meaning | Solution |
---|---|---|---|
DB_DATAOBJECT_ERROR_INVALIDCONFIG | "insert:No table definition for $table" | ||
DB_DATAOBJECT_ERROR_NODATA | "insert: No Data specifed for query" | ||
DB_* | * | see PEAR::DB | see PEAR::DB |
Note
This function can not be called statically.
Example
Simple insert
<?php
$person = new DataObjects_Person;
$person->name='fred';
$id = $person->insert();
?>
Resulting SQL
<?php
INSERT INTO person (name) VALUES ('fred');
?>