->insert()

->insert() – Insert les variables de l'objet courant dans la base de données

Synopsis

mixed $DB_DataObject->insert ( )

Description

Insert les données dans la base de données, en se basant sur les valeurs des variables de l'objet courant et retourne l'ID des éléments insérés si les séquences ou les clés primaires sont utilisées. Les valeurs sont correctement échappées et quelques vérifications sont effectuées.

Avec MySQL, la méthode mysql_next_id() est utilisée ; avec les autres bases de données, la méthode de séquence PEAR DB sequence method est utilisée.

Notez que insert() peut ne pas retourner un ID correct dans quelques situations :

  • Si le gestionnaire de base de données ne le supporte pas.

  • Le générateur ne marque pas le flag de la bonne colonne comme autoincrement/nextval

  • Une erreur survient (activer le débogage pour la voir)

  • L'insertion échoue ou aucune ligne n'est affectée

Return value

mixed - l'ID ou la clé

Throws

Possible PEAR_Error values
Code erreur Message d'erreur Signification Solution
DB_DATAOBJECT_ERROR_INVALIDCONFIG "insert:No table definition for $table"
DB_DATAOBJECT_ERROR_NODATA "insert: No Data specifed for query"
DB_* * Voir PEAR::DB Voir PEAR::DB

Note

This function can not be called statically.

Example

Insertion simple

<?php
$person 
= new DataObjects_Person;
$person->name='fred';
$id $person->insert();
?>

SQL résultant

<?php
INSERT INTO person 
(nameVALUES ('fred');
?>