Voilà, je suis en train de développer un site en PHP qui repose sur une BD (ici, MySQL, mais ça pourrait être une autre, genre Oracle). Pour être (en théorie) indépendant de la BD utilisée, j'utilise les primitives de la bibliothèque PEAR.
Seulement, d'après mon bouquin de PHP (la bible PHP), les champs auto-incrémentés n'exsitent pas sur toutes les SGBD. Il conseille donc d'utiliser les séquences (les fct createSequence, dropSequence et nextId). Sauf que dans l'exemple de mon bouquin, la table est remplie d'un coup, donc la fonction nextId retourne les valeurs de 1 à n. Dans mon cas, je veux que ça retourne le bon ID, genre, si j'ai déjà 3 enregistrements dans ma table, je veux que nextId retourne 4.
Mais voilà, je n'y suis pas parvenu. J'ai essayé de faire un while sur nextId pour que, une fois arrivé à la fin de la séquence, la fonction renvoie une erreur, mais je boucle à l'infini (et en plus, ce genre de méthode serait très longue dans le cas d'un grand nb d'enregistrements).
J'ai donc trouvé comme solution de secours, retourner l'ID max et l'incrémenter. Mais j'ai peur qu'entre la première requête (récup de l'ID max) et la requête INSERT, il y ait eu une autre insertion et que par conséquent, mon ID récupéré ne serait plus bon ...
Vous pouvez m'aider, svp? Merci beaucoup...