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

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : PHP / MySQL -> Récupérer valeur immédiatement après INSER

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

par Invité » 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 ...

par NaGa » 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:

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

par pjl » 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.

par VaN » 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

par NaGa » 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 ? :?:

par pitt » 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?

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

par NaGa » 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