(PECL maxdb >= 1.0)
maxdb_insert_id -- maxdb::insert_id — Retourne le dernier identifiant généré automatiquement par la dernière requête
Style procédural
Style orienté objet
maxdb_insert_id() retourne le denier identifiant généré par une requête sur une table qui a une colonne possédant l'attribut DEFAULT SERIAL. Si la dernière requête n'était pas une requête de type INSERT ou UPDATE ou si la table modifiée n'a pas de colonne possédant un attribut DEFAULT SERIAL, cette fonction retournera zéro.
La valeur du champs DEFAULT SERIAL
qui a été
mis à jour par la dernière requête. Retourne zéro s'il n'y a aucune requête
précédente sur la connexion ou si la requête n'a pas mis à jour
la valeur DEFAULT_SERIAL
.
Note:
Si le nombre généré est plus grand que la valeur maximale pour un entier, maxdb_insert_id() retournera une chaîne de caractères.
Exemple #1 Style orienté objet
<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");
/* Vérification de la connexion */
if (maxdb_connect_errno()) {
printf("Echec de la connexion : %s\n", maxdb_connect_error());
exit();
}
maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE mycity");
maxdb_report (MAXDB_REPORT_ERROR);
$maxdb->query("CREATE TABLE mycity LIKE hotel.city");
$maxdb->query("ALTER TABLE mycity ADD id FIXED(11) DEFAULT SERIAL");
$query = "INSERT INTO mycity (zip,name,state) VALUES ('12203','Albany' ,'NY')";
$maxdb->query($query);
printf ("Le nouvel enregistrement a comme identifiant %d.\n", $maxdb->insert_id);
/* Effacement de la table */
$maxdb->query("DROP TABLE mycity");
/* Fermeture de la connexion */
$maxdb->close();
?>
Exemple #2 Style procédural
<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");
/* Vérification de la connexion */
if (maxdb_connect_errno()) {
printf("Echec de la connexion : %s\n", maxdb_connect_error());
exit();
}
maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE mycity");
maxdb_report (MAXDB_REPORT_ERROR);
maxdb_query($link, "CREATE TABLE mycity LIKE hotel.city");
maxdb_query($link, "ALTER TABLE mycity ADD id FIXED(11) DEFAULT SERIAL");
$query = "INSERT INTO mycity (zip,name,state) VALUES ('12203','Albany' ,'NY')";
maxdb_query($link, $query);
printf ("Le nouvel enregistrement a comme identifiant %d.\n", maxdb_insert_id($link));
/* Effacement de la table */
maxdb_query($link, "DROP TABLE mycity");
/* Fermeture de la connexion */
maxdb_close($link);
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
Le nouvel enregistrement a comme identifiant 1.