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.
Table 33-1. Possible PEAR_Error values
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 |
Example 33-1. Simple insert
|
Example 33-2. Resulting SQL
|