Question php enregistrements


webac
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 374
Inscription: 4 Mar 2005

Question php enregistrements

Message le Lun Nov 27, 2006 15:12

Bonjour,

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


biscuit
WRInaute impliqué
WRInaute impliqué
 
Messages: 519
Inscription: 5 Juin 2006

Message le Lun Nov 27, 2006 15:52

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...


webac
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 374
Inscription: 4 Mar 2005

Message le Lun Nov 27, 2006 15:53

en fait je me suis mal expliqué je veux inserer plusieurs enregistrement avec la même requête.


biscuit
WRInaute impliqué
WRInaute impliqué
 
Messages: 519
Inscription: 5 Juin 2006

Message le Lun Nov 27, 2006 16:23

alors là non... tu dois faire plusieurs requêtes (1 pour chaque INSERT)


e-kiwi
Modérateur
Modérateur
 
Messages: 15618
Inscription: 23 Déc 2003

Message le Lun Nov 27, 2006 16:24

$requete=$requete1.";".$requete2.";".$requete3 ... ;)


biscuit
WRInaute impliqué
WRInaute impliqué
 
Messages: 519
Inscription: 5 Juin 2006

Message le Lun Nov 27, 2006 16:27

ça marche avec phpmyadmin ça, car il parse ta requête... vraiement pas sûr que cela fonctionne dans le code d'une page...


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Message le Lun Nov 27, 2006 17:13

biscuit a écrit:ç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..


biscuit
WRInaute impliqué
WRInaute impliqué
 
Messages: 519
Inscription: 5 Juin 2006

Message le Lun Nov 27, 2006 18:37

KOogar a écrit:
biscuit a écrit:ç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: Tout sélectionner
$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: Tout sélectionner
$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 ?


webac
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 374
Inscription: 4 Mar 2005

Message le Mar Nov 28, 2006 10:09

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?


biscuit
WRInaute impliqué
WRInaute impliqué
 
Messages: 519
Inscription: 5 Juin 2006

Message le Mar Nov 28, 2006 10:32

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: Tout sélectionner
$requete=".$requete1.";".$requete2."
$t_requete = explode(";",$requete);

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


webac
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 374
Inscription: 4 Mar 2005

Message le Mar Nov 28, 2006 11:04

ç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


biscuit
WRInaute impliqué
WRInaute impliqué
 
Messages: 519
Inscription: 5 Juin 2006

Message le Mar Nov 28, 2006 11:08

tu peux donner ta requête complète en faisant un "print $requete" juste avant de le mysql_query ?


biscuit
WRInaute impliqué
WRInaute impliqué
 
Messages: 519
Inscription: 5 Juin 2006

Message le Mar Nov 28, 2006 11:11

ah je viens de voir un truc... sur la ligne
Code: Tout sélectionner
$requete=".$requete1.";".$requete2."

les points et guillemets ne sont pas à la bonne place...
Code: Tout sélectionner
$requete= $requete1 . ";" . $requete2 .";". $requete3;


webac
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 374
Inscription: 4 Mar 2005

Message le Mar Nov 28, 2006 11:48

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: Tout sélectionner
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: Tout sélectionner
$requete= $requete1 . ";" . $requete2 ;
$t_requete = explode(";",$requete);

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


biscuit
WRInaute impliqué
WRInaute impliqué
 
Messages: 519
Inscription: 5 Juin 2006

Message le Mar Nov 28, 2006 12:06

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: Tout sélectionner
$r1 = "INSERT INTO ... VALUES ..." ;
$r2 = "INSERT INTO ... VALUES ..." ;

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

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

Question php enregistrements

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités