Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1296 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Requete ne retournant aucune erreur mais pas executée ???!!!!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Requete ne retournant aucune erreur mais pas executée ???!!!!

n°1500886
Agmoh
¯\_(ツ)_/¯
Posté le 09-01-2007 à 18:48:31  profilanswer
 

Bonsoir...
cela fais quelque heures que je me creuse la tete sur un truc...  
voici la source de mon problème :  
 

Code :
  1. $inseng='INSERT INTO engager(iddossier,iddec) VALUES ("'.$iddossier[0].'","'.$iddec[0].'" )';
  2. mysql_query($inseng) or die ("Erreur Insertion Engager ".$inseng);


 
rien de plus basic me direz vous...
j'execute ma page et la stupeur : aucun problème, aucun retour... coup d'oeil dans ma base et la stupeur : la table engager est vide !
je fais un echo de ma requete, je copie colle le resultat dans l'executeur de requete de phpmyadmin : aucun souci, sa passe l'enregistrement est effectif...
que se passe t'il ?  
 
Merci !

mood
Publicité
Posté le 09-01-2007 à 18:48:31  profilanswer
 

n°1500904
sielfried
Posté le 09-01-2007 à 19:05:46  profilanswer
 

T'es pas connecté sur la bonne BD, je sais pas ? [:dawa]
 
Sinon fais un mysql_insert_id juste après la requête pour voir.

n°1500912
Agmoh
¯\_(ツ)_/¯
Posté le 09-01-2007 à 19:16:20  profilanswer
 

je fais 4 insert avant et ca passe nickel...
 
j'comprend rien.
 
 
voila le code complet :  
 

Code :
  1. // 1 CREATION DE DECISIONNAIRE
  2. mysql_query("LOCK TABLES decisionnaire WRITE" );
  3. mysql_query("SET AUTOCOMMIT = 0" );
  4. $insdec="INSERT INTO decisionnaire (iddecisionnaire,nomdecisionnaire,prenomdecisionnaire,datenaissdecisionnaire,teldecisionnaire,idcat1) VALUES ('','".$_POST['nomdec']."','".$_POST['predec']."','".$ddndec."','".$_POST['teldec']."','".$_POST['fonction']."')";
  5. mysql_query($insdec) or die ("Erreur Insertion Decisionnaire ".$insdec);
  6. $iddec = mysql_query("SELECT LAST_INSERT_ID()" )  or die ("Erreur Recup ID DECISIONNAIRE " );
  7. $iddec = mysql_fetch_array($iddec);
  8. mysql_query("COMMIT" );
  9. mysql_query("UNLOCK TABLES" );
  10. echo "le code decisionnaire est : ".$iddec['0'];
  11. $iddeci=$iddec['0'];
  12. // 2 CREATION ENTREPRISE  
  13. $insentre="INSERT INTO entreprise (n_siret,raison_sociale,denomination_commerciale,adresseentreprise,cpentreprise,villeentreprise,faxentreprise,gsmentreprise,forme_juridique) VALUES ('".$_POST['siret']."','".$_POST['rs']."','".$_POST['dc']."','".$_POST['adressentr']."','".$_POST['cpentre']."','".$_POST['villentr']."','".$_POST['faxentr']."','".$_POST['gsmentr']."','".$_POST['formeJ']."')";
  14. mysql_query($insentre)  or die ("Erreur Insertion Entreprise".$insentre);
  15. // 3.a CREATION DE DOSSIER
  16. mysql_query("LOCK TABLES dossier WRITE" );
  17. mysql_query("SET AUTOCOMMIT = 0" );
  18. $insdoss="INSERT INTO dossier(iddossier,datedebutdossier,datefindossier,comdossier,n_siret,idemploye,typevente,mtmensualite,duree,fml) VALUES ('','".$datedebdossier."','','".$_POST['com']."','".$_POST['siret']."','".$_POST['nomcom']."','".$_POST['rb']."','".$_POST['montant']."','".$_POST['dureemens']."','".$_POST['fml']."')";
  19. mysql_query($insdoss) or die ("Erreur Insertion dossier".$insdoss);
  20. $iddossier = mysql_query("SELECT LAST_INSERT_ID()" );
  21. $iddossier= mysql_fetch_array($iddossier);
  22. mysql_query("COMMIT" );
  23. mysql_query("UNLOCK TABLES" );
  24. $iddos=$iddossier['0'];
  25. // 3.b : RELATION ENGAGER (DOSSIER - DECISIONNAIRE)
  26. sleep(1);
  27. mysql_query("INSERT INTO engager VALUES('".$iddos."','".$iddeci."')" ) or die ("Erreur Insertion Engager ".$inseng);


 
il n'y a que engager qui passe pas pourtant kan j'execute la requete que me ressort le or die, elle passe nickel... c'est a rien coprendre...

n°1500915
sielfried
Posté le 09-01-2007 à 19:21:04  profilanswer
 

Il manque pas légèrement un commit ? [:pingouino]


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1500917
Agmoh
¯\_(ツ)_/¯
Posté le 09-01-2007 à 19:23:40  profilanswer
 

ca sert a quoi ? je l'utilise dans les requete précedente car je m'inspirais d'un tuto pour recuperer une clé auto increment...  
 
autrement j'ai toujours fais mes requetes sans faire de commit ...

n°1500918
sielfried
Posté le 09-01-2007 à 19:25:09  profilanswer
 

http://dev.mysql.com/doc/refman/5. [...] ommit.html


Message édité par sielfried le 09-01-2007 à 19:25:27
n°1500933
Agmoh
¯\_(ツ)_/¯
Posté le 09-01-2007 à 20:03:16  profilanswer
 

merci ! ah les transactions ... j'avais entendu parler de cette notions mais n'ai pas encore eu de cours dessus.
En gros ca permet d'executer un lot de requete, et, si l'une d'elle foire, de tout remettre comme c'était avant l'execution du lot de requete ?
Si c'est ca, ca m'interesserai de savoir comment puis je l'appliquer sur mon  exemple...  
Oui j'ai lu la doc mySql... mais c'est pas forcemment très didactique pour quelqu'un qui ne connait pas le sujet :)

n°1501182
chani_t
From Dune
Posté le 10-01-2007 à 12:16:13  profilanswer
 

tu as essayé ta requête en direct sur ton serveur mysql ? est ce que ta requête est exécutée ?

n°1501197
omega2
Posté le 10-01-2007 à 12:36:35  profilanswer
 

Agmoh a écrit :

je fais un echo de ma requete, je copie colle le resultat dans l'executeur de requete de phpmyadmin : aucun souci, sa passe l'enregistrement est effectif...
que se passe t'il ?


chani_t a écrit :

tu as essayé ta requête en direct sur ton serveur mysql ? est ce que ta requête est exécutée ?


Visiblement oui, et visiblement le probléme est résolut.
 
scarface 2002 > Pour les transaction, c'est assez simple :
- tu ouvres une transaction ( en php, c'est mysqli_autocommit(false) ou la requette "BEGIN" )
- tu executes tes requettes
-si tu détectes une erreur, tu annule la transaction ce qui fait que la base ne tiendra compte de rien ( mysqli_rollback() ou la requette "ROLLBACK" ) ce qui annulera toutes tes requettes ou tu la valides ( mysqli_commit() ou la requette "COMMIT" ) ce qui rendra effectif les changements provoqué par tes requettes.

n°1501228
chani_t
From Dune
Posté le 10-01-2007 à 14:02:09  profilanswer
 

omega2 a écrit :

Visiblement oui, et visiblement le probléme est résolut.
...


 
dans le style j'arrive aprés la bataille.. désolé pour le post :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Requete ne retournant aucune erreur mais pas executée ???!!!!

 

Sujets relatifs
sauvegarder un objet dans la requete[RESOLU] proposer de telecharger les resultat d'une requete sql
Requête sous Access, mode création ou SQLErreur d'exécution '6' : dépassement de capacité
Erreur de compilationProblème de requête SQL - PHP - mysql
Asp.Net Erreur 302 "Object Moved Here"[ASM]erreur de compilation (debutant)
Erreur à corriger suite à validationControle WMP capricieux ou erreur de code ?
Plus de sujets relatifs à : Requete ne retournant aucune erreur mais pas executée ???!!!!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR