Insérer des données dans 2 tables

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Insérer des données dans 2 tables

par Ryle » 07 juin 2007, 10:44

Même avec un point-virgule, cela ne fonctionnerait pas... cf. la doc de la fonction mysql_query() :
mysql_query() envoie une seule requête (les requêtes multiples ne sont pas supportées) à la base de données courante sur le serveur associé avec le link_identifier spécifié.
Donc deux requêtes = deux exécutions... :)

par orgerix » 07 juin 2007, 09:22

IL te manque un point virgule entre tes deux requetes. Sans lui, MySQL considére que c'est une unique requete

par kpn59 » 07 juin 2007, 09:14

Pourquoi ne le fais tu pas en 2 requetes ?
Ensuite pour ton message de vérification, si la première requête a fonctionné, tu passes à la seconde et ci cette derrnière a également fonctionné, tu echo ton message.

Non ?
Essayes cela ou alors demande aux maitres du php info ;)

Bon courage :D

Insérer des données dans 2 tables

par CharlieG. » 07 juin 2007, 00:50

Bonjour,


Je souhaiterais savoir comment faire pour insérer des données dans plusiseurs tables.

Je suis en train de réaliser un forum pour lequel j'ai les tables "messages" et "discussion". J'arrive à insérer ce qu'il faut dans ma table "messages" , mais il me faudrait insérer également d'autres données dans la table "discussion" pour que le forum fonctionne, et que tout soit relié.
Seulement je ne sais pas comment exécuter 2 requetes INSERT à la suite pour 2 tables différentes.

J'ai essayé de faire comme ceci:
//création de la requête SQL- insertion des champs dans la BDD 
  $requete = "INSERT INTO message (idMessage, Discussion_idDiscussion, Message_idMessage, Sujet, Contenu, FichierAttache, DateCreation,TypeMessage_idTypeMessage, Qualifiant_idQualifiant, Utilisateur_idUtilisateur) VALUES ('','$idDiscussion','$Message_idMessage','$Sujet','$Contenu','$FichierAttache', now(), '$LibelleTypeMessage', '$LibelleQualifiant','$Utilisateur_idItilisateur')" ;


 $requete .= "INSERT INTO discussion (idDiscussion, Forum_idForum) VALUES ('$idDiscussion', '$Forum_idForum')"; 
    
// exécution de la requête : on envoie la requête au serveur qui nous retourne le résultat 

if ($result = mysql_query ($requete)) 
    { 
    echo "Votre message est enregistré"; 
    } 
else 
{ 
    echo mysql_error(); 
} 
Mais ça ne fonctionne pas.... Merci par avance de votre aide![/php]