le requette insert into

xavi_386
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 17
Inscription: 18 Juin 2008

le requette insert into

Message le Lun Juil 14, 2008 12:31

salut

j ai un probleme avec la requette Insert into je veux inserer les donnee dans 2 tables à la

fois à partir d'un formulaire mais ça marche pas lorsque j insere les donnee

les donnee s'ajoute seulement dans la premiere table pour la 2 eme non

voila les requette que j'utilise :


$sql1="insert into geo VALUES ('',$n,'$o','$p','$q','$r',$s)";
mysql_query($sql1);
$sql2="insert into detailgeo VALUES ('',$t,'$u','$v','$w')";


merci d'avance

guardatak
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 11
Inscription: 13 Juil 2008

Re: le requette insert into

Message le Lun Juil 14, 2008 12:35

xavi_386 a écrit:$sql1="insert into geo VALUES ('',$n,'$o','$p','$q','$r',$s)";
mysql_query($sql1);
$sql2="insert into detailgeo VALUES ('',$t,'$u','$v','$w')";


mysql_query($sql2);

Faut bien le placer aussi celui-la...

xavi_386
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 17
Inscription: 18 Juin 2008

guardatak

Message le Lun Juil 14, 2008 12:38

wi vous avez raison je l ai ajoute
mais tjrs le meme probleme la premiere requette qui s'execute la sexieme nn

guardatak
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 11
Inscription: 13 Juil 2008

Message le Lun Juil 14, 2008 12:47

Bon bha ya plus qu'a copier/coller... mais faut comprendre pas le faire bêtement.

Code: Tout sélectionner
$sql="INSERT INTO geo VALUES ('', $n, $o, $p, $q, $r, $s)";
$result = mysql_query($sql);

$sql="INSERT INTO detailgeo VALUES ('', $t, $u, $v, $w)";
$result = mysql_query($sql);


Et si sa marche pas, faut se jeter par la fenêtre la plus proche.

Complément pour le post suivant :
Une requête c'est ça : $sql="INSERT INTO geo VALUES ('', $n, $o, $p, $q, $r, $s)";
Dernière édition par guardatak le Lun Juil 14, 2008 12:57, édité 1 fois.


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8300
Inscription: 23 Nov 2005

Message le Lun Juil 14, 2008 12:53

Ou alors si ça ne marche toujours pas, l'autre solution peut être de vérifier ta requête dans PhpMyAdmin ou dans ton client Mysql, pour voir ce qui cloche.

jamalofski
WRInaute discret
WRInaute discret
 
Messages: 219
Inscription: 3 Mar 2007

Message le Lun Juil 14, 2008 12:55

Je ne crois pas que quelqu'un peut vraiment t'aider de cette manière! Il y a bcp de raisons pour qu'une requête insert échoue.

Tu peux certainement résoudre le problème toi même mais reste encore à savoir lequel. Pour ca je te conseille :
Code: Tout sélectionner
$sql="INSERT INTO detailgeo VALUES ('', $t, $u, $v, $w)";
$result = mysql_query($sql);
if (!$result) {
    die('Requête invalide : ' . mysql_error());
}

guardatak
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 11
Inscription: 13 Juil 2008

Message le Lun Juil 14, 2008 13:01

J'ai toujours adoré les erreurs MySQL, qui sont pour ceux qui n'y connaissent pas grand chose, parfois incompréhensibles :lol:

Et là je sens qu'on va l'embrouiller de plus en plus... mais c'est vrai, tu as raison, c'est utile :wink:

jamalofski
WRInaute discret
WRInaute discret
 
Messages: 219
Inscription: 3 Mar 2007

Message le Lun Juil 14, 2008 15:13

disons que malgré leurs complexités, ils sont certainement plus utiles que :
Et si sa marche pas, faut se jeter par la fenêtre la plus proche.

Vous ne trouvez pas? :roll:


YoyoS
WRInaute accro
WRInaute accro
 
Messages: 3827
Inscription: 14 Sep 2006

Message le Lun Juil 14, 2008 15:28

Franchement vaut mieux faire des requêtes en mettant explicitement les noms des champs comme ceci. Les avantages ?
- Ca t'évite de mettre ('') pour l'id qui s'incrémente automatiquement, ce qui provoque des erreurs aléatoires sur certaines versions mysql.
- Ca te permet de voir tout de suite quelle valeur se rapporte à quel champ sans devoir aller regarder la structure de ta table dans la base de données
- Le plus gros avantage, c'est que tout ton programme ne plantera pas si tu rajoutes une colonne au milieu de ta table. Actuellement, ça sera la merde si tu le fais.

$sql="INSERT INTO detailgeo (champ1,champ2,champ3,numero1,numero2) VALUES ('".$a."','".$b."','".$c."',".$d.",".$e.")";

Entrer une chaine de caractères requiert des côtes, les numéros n'en ont pas besoin.

xavi_386
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 17
Inscription: 18 Juin 2008

Message le Lun Juil 14, 2008 15:45

je crois que le probleme c est que la premiere requete s'execute mais la dexieme non


YoyoS
WRInaute accro
WRInaute accro
 
Messages: 3827
Inscription: 14 Sep 2006

Message le Lun Juil 14, 2008 15:47

Les deux sont mal foutues, donc refait les toutes les 2 en comprenant ce que tu fais

Tu devrais aussi afficher $sql avant de l'exécuter sur les deux requêtes pour voir si tu obtiens bien ce que tu attends.

xavi_386
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 17
Inscription: 18 Juin 2008

Message le Lun Juil 14, 2008 16:08

voila mon code :

<?php
}
else
{

$n=$_POST["parent"];
$o=$_POST["devise"];
$p=$_POST['drapeau'];
$q=$_POST["langueGoe"];
$r=$_POST["abreviation"];
$s=$_POST["zipcode"];
$t=$_POST["idLangue"];
$u=$_POST["nom"];
$v=$_POST["type"];
$w=$_POST["caracteristiques"];
$db=mysql_connect('localhost','root','');
mysql_select_db('auriad',$db);
$sql="INSERT INTO geo VALUES ('', $n, $o, $p, $q, $r, $s)";
mysql_query($sql);
$sql="INSERT INTO detailgeo VALUES ('', $t, $u, $v, $w)";
mysql_query($sql);
echo "un nouveau geo a &eacute;t&eacute; ajout&eacute;";
}
?>


Bool
WRInaute passionné
WRInaute passionné
 
Messages: 1290
Inscription: 26 Fév 2004

Message le Lun Juil 14, 2008 16:16

ouhhh la jolie injection SQL... ne pas oublier mysql_real_escape_string() (ou au moins addslashes())...


YoyoS
WRInaute accro
WRInaute accro
 
Messages: 3827
Inscription: 14 Sep 2006

Message le Lun Juil 14, 2008 16:35

Je crois que t'as tous les éléments en ta possession pour te débrouiller maintenant xavi_386.

Bonne chance. Si t'as un souci on peut t'aider, mais on va pas te le servir sur un plateau hein ;)

xavi_386
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 17
Inscription: 18 Juin 2008

Message le Lun Juil 14, 2008 17:44

merci bcp yoyoS je vais essayer de regler ce probleme


merci à tous

le requette insert into

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