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

NaGa
Invité n'ayant pas de compte PHPfrance

10 nov. 2005, 15:41

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

Eléphant du PHP | 153 Messages

10 nov. 2005, 15:43

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?

NaGa
Invité n'ayant pas de compte PHPfrance

10 nov. 2005, 15:45

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 ? :?:

VaN
Mammouth du PHP | 1107 Messages

10 nov. 2005, 15:45

$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
Modifié en dernier par VaN le 10 nov. 2005, 15:46, modifié 1 fois.

ViPHP
pjl
ViPHP | 2119 Messages

10 nov. 2005, 15:46

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.

NaGa
Invité n'ayant pas de compte PHPfrance

10 nov. 2005, 15:47

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:

Invité
Invité n'ayant pas de compte PHPfrance

10 nov. 2005, 15:48

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 ...