Empécher les doubles insertions [Résolu]

Signaler
Messages postés
20
Date d'inscription
lundi 7 juin 2010
Statut
Membre
Dernière intervention
18 juin 2010
-
Messages postés
20
Date d'inscription
lundi 7 juin 2010
Statut
Membre
Dernière intervention
18 juin 2010
-
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...

6 réponses

Messages postés
164
Date d'inscription
samedi 16 octobre 2004
Statut
Membre
Dernière intervention
21 septembre 2010

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
Messages postés
20
Date d'inscription
lundi 7 juin 2010
Statut
Membre
Dernière intervention
18 juin 2010

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.
Messages postés
164
Date d'inscription
samedi 16 octobre 2004
Statut
Membre
Dernière intervention
21 septembre 2010

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
Messages postés
20
Date d'inscription
lundi 7 juin 2010
Statut
Membre
Dernière intervention
18 juin 2010

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...
Messages postés
164
Date d'inscription
samedi 16 octobre 2004
Statut
Membre
Dernière intervention
21 septembre 2010

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
Messages postés
20
Date d'inscription
lundi 7 juin 2010
Statut
Membre
Dernière intervention
18 juin 2010

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