Question php enregistrements

Bonjour,

Je souhaiterais dans une même page pouvoir enregistrer plusieurs enregistrements qui s'incorporeraient dans la meme bdd est-ce possible?
 
Salut,

Je comprend pas bien ta question...
Mais si tu veux faire plusieurs INSERT sur la même page il n'y a absolument aucun problème...
 
ça marche avec phpmyadmin ça, car il parse ta requête... vraiement pas sûr que cela fonctionne dans le code d'une page...
 
biscuit a dit:
ça marche avec phpmyadmin ça, car il parse ta requête... vraiement pas sûr que cela fonctionne dans le code d'une page...

lol, oui ca marche et ca n'a aucun rapport avec phpmyadmin..
 
KOogar a dit:
biscuit a dit:
ça marche avec phpmyadmin ça, car il parse ta requête... vraiement pas sûr que cela fonctionne dans le code d'une page...

lol, oui ca marche et ca n'a aucun rapport avec phpmyadmin..

Je persiste et signe, ceci :
Code:
$r = "INSERT INTO t_ta SET nom='blabla'; INSERT INTO t_ta SET nom='blabla2';";
$sql = mysql_query($r,$id);

ne fonctionne pas (sauf dans phpmyadmin), par contre pour ceci:

Code:
$r = "INSERT INTO t_ta SET nom='blabla'";
$sql = mysql_query($r,$id);

$r = "INSERT INTO t_ta SET nom='blabla2'";
$sql = mysql_query($r,$id);

pas de problème évidement !

PS: test effectué sur mysql 4.x ... maintenant est-ce que c'est une nouveauté de mysql 5 ?
 
petit soucis effectivement voila ce que j'obtiens comme message d'erreur en essayant juste avec deux enregistrements à la fois avec la solution de e-kiwi : $requete=".$requete1.";".$requete2."


Erreur SQL !.INSERT INTO mabase(x, xx, xxx, xxxx, xxxxx) VALUES('x','xx','xxx','xxxx','xxxxx').
Erreur de syntaxe près de '.INSERT INTO mabase(x, xx, xxx, xxxx' à la ligne 1


quelqu'un aurait-il la solution?
 
Justement c'est ce que je te disais, tu ne peux pas faire ça en une requête. Par contre tu peux faire une boucle:

Code:
$requete=".$requete1.";".$requete2." 
$t_requete = explode(";",$requete);

foreach ($t_requete as $r) {
 mysql_query($r,$id);
}
 
ça ne fonctionne toujours pas même avec ta proposition biscuit.

j'avoue que je suis novice en la matière c'est pourquoi je fais appel à vos compétences alors si toutefois vous avez une solution qui fonctionne n'hesitez pas à me la transmettre.

d'avance merci
 
ah je viens de voir un truc... sur la ligne
Code:
$requete=".$requete1.";".$requete2."
les points et guillemets ne sont pas à la bonne place...
Code:
$requete= $requete1 . ";" . $requete2 .";". $requete3;
 
c'est presque bon sur l'erreur sql il m'affiche bien les données enregistrées mais l'enregistrement ne se fait toujours pas

Code:
Erreur SQL !INSERT INTO courrier(magasin, typecour, destinataire, dateheure, login) VALUES('mag1','lettre simple','1','2006-11-28','Virginie');INSERT INTO courrier(magasin, typecour, destinataire, dateheure, login) VALUES('mag2','lettre simple','2','2006-11-28','Virginie')
Erreur de syntaxe près de ';INSERT INTO courrier(magasin, typecour, destinataire, dateheure' à la ligne 1

un autre point que je voudrais comprendre a quoi correspond la variable $id dans ton code biscuit car chez moi elle n'est déclarée nulle part.


voici le code que j'ai inséré dans ma page :

Code:
$requete= $requete1 . ";" . $requete2 ;
$t_requete = explode(";",$requete); 

foreach ($t_requete as $r) { 
 mysql_query($r); 
}
 
ok... $id est en fait l'identifiant de la connexion à mysql, mais c'est effectivement optionnel, je le mets par reflexe.

Le problème dans ta/tes requêtes, c'est qu'il y a un/des ";" qui traînent... quand tu déclares tes requêtes individuellement ne termine par ";"...

$r1 = "INSERT INTO ... VALUES ...;" ;

ce qui donne (en espérant que tout fonctionne)...

Code:
$r1 = "INSERT INTO ... VALUES ..." ;
$r2 = "INSERT INTO ... VALUES ..." ;

$requete = $r1 . ";" . $r2;
$t_requete = explode(";",$requete); 

foreach ($t_requete as $r) { 
 mysql_query($r); 
}
 
>> parse la "multi" requête
ok restons en la :wink:

Autre solution:
Code:
INSERT INTO t1 (v1,v2,v3) VALUES (1,2,3),(4,4,4),(5,1,10);
 
Merci pour ta réponse biscuit mais je n'arrive pas à trouver l'erreur voici le code complet de mes requêtes :

Code:
$requete1 = "INSERT INTO courrier(magasin, typecour, destinataire, dateheure, login) VALUES('$magasin','$typecour','$destinataire','$dateheure','$login')";  
 
$requete2 = "INSERT INTO courrier(magasin, typecour, destinataire, dateheure, login) VALUES('$magasin2','$typecour2','$destinataire2','$dateheure2','$login2')";    
$requete= $requete1 . ";" . $requete2 ;
$t_requete = explode(";",$requete); 

foreach ($t_requete as $r) { 
 mysql_query($r); 
}


encore merci et désolé de t'ennuyer avec ça.

petite précision l'enregistrement se fait bien car je retrouve mes données dans la base mais j'ai toujours le message d'erreur de mon post précédent.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut