Plusieurs insert into dans une seule requête [Résolu]

Signaler
Messages postés
54
Date d'inscription
vendredi 10 septembre 2004
Statut
Membre
Dernière intervention
15 octobre 2009
-
Messages postés
15
Date d'inscription
mercredi 18 avril 2007
Statut
Membre
Dernière intervention
28 septembre 2007
-
bonjour,
je voudrais faire un truc du genre :

$query="insert into table (nom) value ('monnom1')";
$query.="insert into table (nom) value ('monnom2')";
$query.="insert into table (nom) value ('monnom3')";

$mysql_result = mysql_query($query,$mysql_link);

c'est à dire passer plusieurs mises à jour de table en une seule requête. Ce code marche pas. je voudrais savoir comment faire pour que ça marche.
Merci.

Pizza Dude
A voir également:

9 réponses

Messages postés
54
Date d'inscription
vendredi 10 septembre 2004
Statut
Membre
Dernière intervention
15 octobre 2009

J'ai trouvé. Voilà l'astuce :
$query="insert into table (nom) value ('monnom1'),";
$query.="('monnom2'),";
$query.="('monnom3')";

$mysql_result = mysql_query($query,$mysql_link);

Pizza Dude
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Hello :p

Essaye de mettre des ; entre les requetes :p
$sql'INSERT INTO table (nom) VALUES("val") ; INSERT INTO table SET nom "val2"';

$query = mysql_query($sql) or die(mysql_error());
NB : tu peux aussi bien utiliser le SET nom "val", nom2 "val2" que le (nom, nom2) VALUES("val1", 20)

<hr />Si ma reponse te convient, merci de l'accepter ! 
Messages postés
54
Date d'inscription
vendredi 10 septembre 2004
Statut
Membre
Dernière intervention
15 octobre 2009

ça marche pas

Pizza Dude
Messages postés
15
Date d'inscription
mercredi 18 avril 2007
Statut
Membre
Dernière intervention
28 septembre 2007

salut
j'ai un pb.j vx inserer mes donné en meme temp dans 2tables different .par ex: j vx ajouter à table1==>  le   nom et le prenom;
ajouter à table2=> login
 pb que j besoin de les ajouter on meme temp.j'ai aucune idée:s!!!ouups
aidez moi
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Lu steph

Essaye comme ca (j'ai modifié pour avoir la même methode par rapport à mon precedent post ^^)

$sql= 'INSERT INTO table (nom1) VALUES("val1") ;INSERT INTO table2 (nom2, nom3) VALUES("val2", "val3") ';

$query = mysql_query($sql) or die(mysql_error());

<hr />Si ma reponse te convient, merci de l'accepter ! 
Messages postés
15
Date d'inscription
mercredi 18 avril 2007
Statut
Membre
Dernière intervention
28 septembre 2007

meri jojo..j x essayer;)
Messages postés
15
Date d'inscription
mercredi 18 avril 2007
Statut
Membre
Dernière intervention
28 septembre 2007

  
  
<?php
$host = "localhost";
$user = "root";
$pass = "";
$bdd = "testbase";


@mysql_connect($host,$user,$pass)
   or die("Impossible de se connecter");
@mysql_select_db("$bdd")
   or die("Impossible de se connecter");
if ( isset($_POST["nom"]) && isset($_POST["email"]) )
{

$pseudo=""; if(!empty($_POST["pseudo"]))
   $pseudo=addslashes($_POST["pseudo"]);
$login=""; if(!empty($_POST["login"]))
   $login=$_POST["login"];
// Ajoute la nouvelle fiche
$sql= 'INSERT INTO test (pseudo) VALUES("$pseudo") ;INSERT INTO test2 (login) VALUES("$login") ';
$result = mysql_query($sql);
}
mysql_close();
?>


<form method="post">

</form>



</html>

rieeeeeeeeen.....je fait ce code mé rien s'ajout dans ma bas
N.B: ce codejuste pr tester
aaidez-moi
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Lu

<?php

// @ http://tw.apinc.org/weblog/2004/02/24/36-php-magic-quotes-et-getpostcookie
// Aller, la premiere fontion qui me tombe sous la main (merci google ^^)

function set_magic_quotes_gpc_recursive($value, $new_setting) {
 if (is_array($value)) {
  $return = array();
  foreach ($value as $key => $val)
   $return[$key] = set_magic_quotes_gpc_recursive($val, $new_setting);
  return $return;
 } else
  return $new_setting ? addslashes($value) : stripslashes($value);
}

function set_magic_quotes_gpc($new_setting) {
 if (get_magic_quotes_gpc() == !$new_setting) {
  $_GET = set_magic_quotes_gpc_recursive($_GET, $new_setting);
  $_POST = set_magic_quotes_gpc_recursive($_POST, $new_setting);
  $_COOKIE = set_magic_quotes_gpc_recursive($_COOKIE, $new_setting);
  $_REQUEST = set_magic_quotes_gpc_recursive($_REQUEST, $new_setting);
 }
}

set_magic_quotes_gpc(false);
// Avec cette fonction on supprime le magic quote, ce qui permet de ne plus avoir des \' à tout vent :p
// Agit automatiquement sur toutes les variables $_GET, $_POST, $_COOKIE, $_REQUEST
?>
<html>
 
<?php

$host = 'localhost';
$user = 'root';
$pass = '';
$bdd  = 'testbase';
// Utilise de préférence les simple queote ' aux doubles ", c'est plus rapides et plus propre (je trouve)

mysql_connect($host, $user, $pass) or die('Impossible de se connecter');
mysql_select_db($bdd) or die('Impossible de se connecter');

if ( isset($_POST['nom'], $_POST['email']) )  {
 // Avantage de la fontion isset(), tu peux tester plusieurs variable en une seule fonction, sépare jsute par des virgules :)

 $pseudo = ( !empty($_POST['pseudo'])) ? htmlspecialchars(addslashes($_POST['pseudo'])) : null;
 // Forme  $var = CONDITION ? ALORS : SINON, c'est un IF/ELSE
 // On renforce la sécurité avec un htmlspecialchars()
 // Par contre, met un filtre pour gerer le magic_quote (\' automatique)
 
 $login = ( !empty($_POST['login'])) ? htmlspecialchars(addslashes($_POST['login'])) : null;

 // Ajoute la nouvelle fiche
 $sql  = 'INSERT INTO test (pseudo) VALUES("' . $pseudo . '") ;';
 $sql .= 'INSERT INTO test2 (login) VALUES("' . $login . '") ';
 // Tu as fait une erreur ... regarde bien tes ' et "
 //  '... ("$pseudo")  ... ("$login") ' -> Ici en metant au debut un ' l'utilisation directe des varaibles dans la chaine n'est pas possible ...
 // Tu fois daire un : ' ... ' . $var . ' ... '
 // Moi, je découpe les requete par la concatenation de la variable $var = ''; $var .= 'suite'; $var .= 'Encore suite ...';
 // C'est plus claire come ça

 $result = mysql_query($sql);

}
mysql_close();

?>

  <form method="post">
   
    <!-- Je rend compatible XHtml en encadrant les de la balise

-->
   
   
   
  

  </form>

</html>
Voila, ca devrait marcher ^^
<hr />Si ma reponse te convient, merci de l'accepter ! 
Messages postés
15
Date d'inscription
mercredi 18 avril 2007
Statut
Membre
Dernière intervention
28 septembre 2007

oui merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiii.<<jojo>>