Empécher les insertions doubles...

Résolu
Breub62 Messages postés 3452 Statut Membre -  
Breub62 Messages postés 3452 Statut Membre -
Bonjour,

Suite à cette manipulation :

<?php
	session_start();
	if(!empty($_POST))
	{
		foreach($_POST as $cle => $val)
		{ 
			$_SESSION[$cle] = $val; 
		}
		unset($_POST);
	
		session_write_close();
		echo "<script type='text/javascript'>history.go(-1);</script>"; 
	}
?>


je convertie mes variables POST en variables de SESSION. Ainsi je n'ai plus d'erreur en retournant à la page précédente. Cependant lorsque j'effectue une insertion sous mysql, cette dernière s'exécute deux fois. Ainsi ma requête est bien exécutée, mais j'ai du coup un message d'erreurs dû au doublon généré. Existe-t-il un moyen d'empêcher la même requête de s'exécuter plusieurs fois. D'avance merci...

5 réponses

  1. Breub62 Messages postés 3452 Statut Membre 369
     
    Merci pour cette piste. Maintenant est-il possible de ne rien faire après le ON DUPLICATE KEY, parce que d'après l'exemple, on doit obligatoirement faire qqch comme un update.Merci
    0
  2. Tcwn32
     
    Dans ce cas, "ON DUPLICATE KEY IGNORE" devrait faire l'affaire.

    Voila, bonne continuation :)
    0
  3. Breub62 Messages postés 3452 Statut Membre 369
     
    Le IGNORE ne fonctionne pas chez moi par contre je fais un update bidon et c'est bon. Merci pour cette aide précieuse et rapide...
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Breub62 Messages postés 3452 Statut Membre 369
     
    En fait au lieu du
    ON DUPLICATE KEY IGNORE
    , il suffit simplement de faire un
    INSERT IGNORE INTO table VALUES....
    0