Je veux obtenir l'ID d'enregistrement pour la dernière ligne insérée dans une table de base de données. J'essaie d'utiliser db_last_insert_id()
, mais il lève une exception.
Appel à une fonction non définie
db_last_insert_id()
Comment obtenir le dernier ID d'enregistrement inséré?
Réponses:
Dans Drupal 6, vous utiliseriez un code similaire au suivant.
Le code équivalent Drupal 7 est le suivant.
la source
function db_last_insert_id($table, $field)
Si vous ne contrôlez pas vous-même la requête d'insertion particulière, vous pouvez toujours utiliser une ancienne requête SQL simple:
la source
MAX(uid)
doit retourner cet uid. Sinon votre serveur MySQL est très très cassé$ id contient le dernier id inséré de la table. faites juste echo $ id.
la source
Si, pour une raison quelconque, vous devez obtenir une valeur de champs avant de l'insérer, il est possible de le faire avec.
la source
Une astuce grossière, mais ça marche:
ou
la source