begin process at 2012 05 30 23:09:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Empécher les doubles insertions


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Empécher les doubles insertions

lundi 7 juin 2010 à 14:46:58 | Empécher les doubles insertions

Breub

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...
lundi 7 juin 2010 à 15:07:19 | Re : Empécher les doubles insertions

jimmypage64


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
lundi 7 juin 2010 à 15:14:25 | Re : Empécher les doubles insertions

Breub

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...
lundi 7 juin 2010 à 15:25:00 | Re : Empécher les doubles insertions

jimmypage64


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
lundi 7 juin 2010 à 15:34:01 | Re : Empécher les doubles insertions

Breub

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...
lundi 7 juin 2010 à 15:41:21 | Re : Empécher les doubles insertions

jimmypage64

Réponse acceptée !

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
mardi 8 juin 2010 à 10:00:28 | Re : Empécher les doubles insertions

Breub

Réponse acceptée !
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.


Cette discussion est classée dans : requête, doubles, empécher, insertions


Répondre à ce message

Sujets en rapport avec ce message

sos requête avec critaire [ par amnay ] azul tous (salut )ben je n'arrive pas à executer ue requête avec un critaire par exemple : afficher l'employer ont le num et x par exemple j'utilise l sos requête avec critaire [ par amnay ] azul tous (salut )ben je n'arrive pas à executer ue requête avec un critaire par exemple : afficher l'employer ont le num et x par exemple j'utilise l problème de requête [ par kwak ] Bonjour,je n'arrive pas a retourner la valeur $result, je ne comprend pas pourquoi, alors si qq'un pouvait m'éclaircir ce serait sympa.merci.include(" Pb de requête [ par kwak ] Rebonjour à tous,encore un petit problème:j'ai une table Clients contenant NoCli et LibCli, mais NoCli est en auto_increment. Alors suis-je obligé de requête sql [ par eax ] j'ai un tout petit pbquand je faisselect * from `blabla` where `pouet`=NULLça marche pas je veux juste récupérer mes données pour pouet nulsi qqun con php et requete sql [ par ddyefre ] bonjour,un p'tit probleme... après l'execution de la requête ci dessous je voudrais recuperer tous les champs de la requête, c'est à dire nom et preno Sauver le résultat d'une requête dans un fichier txt ??? [ par Melisback ] Bonjour, Surement une question simple, mais j'ai quelques petites difficultés.Je voudrais bien sauver le résultat d'une requête MySql effectuée par un requête toute simple! [ par angelique ] Bonjour,Pour la requête suivante : select * from matable where monchamp_valeur = '0.96' il (mysql) me répond que ma requête a été correctement exécuté Probleme avec une requête [ par iomega ] Bonjour à tous, je voudrais savoir comment afficherce résultat.voici ma requête resultat qui contient la somme totale de prime d'assurance et je voudr Menu déroulant à partir d'une requête mysql [ par tweeder ] Bonjour,J'ai essayé de trouver sur le site un exemple pour ma question mais j'ai pas trouvé. J'aimerais généré un menu déroulant html à partir des élé


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales