Empécher les doubles insertions [Résolu]

Messages postés
20
Date d'inscription
lundi 7 juin 2010
Dernière intervention
18 juin 2010
- - Dernière réponse : cs_Breub
Messages postés
20
Date d'inscription
lundi 7 juin 2010
Dernière intervention
18 juin 2010
- 8 juin 2010 à 10:00
Bonjour,

Suite à diverses manipulations je me retrouve avec une requête INSERT qui s'exécute à deux reprises. Ainsi j'ai à chaque fois une erreur de doublons dans ma base de données. J'aimerais savoir s'il existe une fonction qui permet d'interdire l'exécution multiple d'une même requête. D'avance merci...
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
164
Date d'inscription
samedi 16 octobre 2004
Dernière intervention
21 septembre 2010
3
Merci
Sinon au pire avant de faire ton INSERT tu fais une recherche dans ta base .. Tu recherche si il existe deja un enregistrement pour les clés qui te posent un problème de doublon

[8)]Zoso

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jimmypage64
Messages postés
20
Date d'inscription
lundi 7 juin 2010
Dernière intervention
18 juin 2010
3
Merci
Merci pour ta solution. Je l'ai combiné à un INSERT IGNORE qui m'évite les doublons ; quant à la recherche elle me permet de signaler à l'utilisateur qu'il y a eu ou non un problème. Encore merci.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Breub
Messages postés
164
Date d'inscription
samedi 16 octobre 2004
Dernière intervention
21 septembre 2010
0
Merci
Salut,

c'est une erreur de ton code .. a mon avis il faudrait que tu corriges le problème qui fait que ton INSERT s'exécute 2 fois.

Sinon tu as toujours la possibilité de faire un contrôle de tes données avant de faire le INSERT.

[8)]Zoso
Commenter la réponse de jimmypage64
Messages postés
20
Date d'inscription
lundi 7 juin 2010
Dernière intervention
18 juin 2010
0
Merci
En fait ce qui provoque la double exécution de ma requête est :

<?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>";
}
?>

Cela me permet de convertir mes variables POST en variables de SESSION (ce qui évite de devoir renvoyer les informations lors d'un retour à la page précédente ce qui est fréquent dans mon appli). Le problème étant donc uniquement sur mes Insert(qui s'exécutent correctement mais 2 fois d'où un message d'erreur systématique dû aux doublons).

Merci pour la réponse et pour les réponses à venir...
Commenter la réponse de cs_Breub
Messages postés
164
Date d'inscription
samedi 16 octobre 2004
Dernière intervention
21 septembre 2010
0
Merci
Je veux bien pour tes variables de session mais le INSERT n'a pas a se faire 2 fois normalement .. Tu le fais quand ton insert ?

[8)]Zoso
Commenter la réponse de jimmypage64
Messages postés
20
Date d'inscription
lundi 7 juin 2010
Dernière intervention
18 juin 2010
0
Merci
Je fais des insert à plusieurs endroits et j'ai à chaque fois le même problème(sachant que mon appli est conçu via une page unique(index.php) et que j'inclus mes pages selon les cas).

J'ai mis des echo à tous les endroits pour voir d'où venait le problème et du coté client la requête insert ne semble s'exécuter qu'une fois mais du coté serveur cette dernière est systématiquement exécutée 2 fois...

J'ai cherché sur google et autre forums mais pas le début d'un commencement de solutions...
Commenter la réponse de cs_Breub

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.