Empécher les insertions doubles...

Résolu
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

  • Votes
  • Date
  • Date décroissante
  1. 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
    1. Dans ce cas, "ON DUPLICATE KEY IGNORE" devrait faire l'affaire.

      Voila, bonne continuation :)
      1. 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...
        1. En fait au lieu du
          ON DUPLICATE KEY IGNORE
          , il suffit simplement de faire un
          INSERT IGNORE INTO table VALUES....