Page 1 sur 1

PHP / MySQL -> Récupérer valeur immédiatement après INSER

Posté : 10 nov. 2005, 15:41
par NaGa
Bonjour à tous,

Si vous pouviez m'aider là dessus ca m'enlèverait une épine du pied ... ;)

Table MySQL :

- ID
- champ1
- champ2
- champ3

Requète :

$sql1 = "INSERT INTO table (champ1, champ2, champ3) VALUES ('$value1', '$value2', '$value3')";
mysql_query($sql1) or die('Erreur SQL !<br>'.$sql1.'<br>'.mysql_error());

Jusque là, pas de souci. Mon problème est que je dois récupérer la valeur de ID (primarykey, INT, autoincrement) et que les autres champs peuvent être identiques dans plusieurs enregistrements ...

Existe-t-il un moyen d'extraire la valeur d'un champ créé en autoincrement et ce juste après la création de l'enregistrement ?

merci de vos conseils ;)

NaGa

Posté : 10 nov. 2005, 15:43
par pitt
Moi je faisais un select ensuite avec mes valeurs mais si elles peuvent etre identiques il est clair que ca risque de poser un probleme

Je me demande si ca n'est pas une erreur de conception si tu as une clé unique et 3 valeurs qui peuvent etre identiques peux tu détailler un peu ta table?

Posté : 10 nov. 2005, 15:45
par NaGa
C'est le cas ...

Je me retrouve dans certains cas avec plusieurs résultats pour mon SELECT ce qui n'est vraiment pas le but recherché.

Pas d'autre idée ? :?:

Posté : 10 nov. 2005, 15:45
par VaN
$sql = "SELECT MAX(ID) AS id_max FROM table";
$query = mysql_query($sql);
$result = mydql_fetch_array($query);

// $result['id_max'] te donnera le dernier ID rentré, dans le cas où tes ID sont auto incrémentés.
// ensuite il te suffit juste de faire une requete SELECT avec cet ID

Re: PHP / MySQL -> Récupérer valeur immédiatement après I

Posté : 10 nov. 2005, 15:46
par pjl
regarde la fonction mysql_insert_id.
Jusque là, pas de souci. Mon problème est que je dois récupérer la valeur de ID (primarykey, INT, autoincrement) et que les autres champs peuvent être identiques dans plusieurs enregistrements ...
Quand je lis ceci, en général, je me pose des questions sur la structure de la BDD.

Posté : 10 nov. 2005, 15:47
par NaGa
J'essaie ca dans 10mn (ai un truc a faire entre temps)

Si ca marche, t'auras droit à une grosse bise virtuelle ;)

Te tiens au courant !

En tout cas merci de ta super rapidité !! :wink:

Re: PHP / MySQL -> Récupérer valeur immédiatement après I

Posté : 10 nov. 2005, 15:48
par Invité
regarde la fonction mysql_insert_id.
Jusque là, pas de souci. Mon problème est que je dois récupérer la valeur de ID (primarykey, INT, autoincrement) et que les autres champs peuvent être identiques dans plusieurs enregistrements ...
Quand je lis ceci, en général, je me pose des questions sur la structure de la BDD.

Tu diras ca a celui qui a fait le programme hein ;)

C'est un logiciel GNU que je modifie un peu ...