insertion de donnée

Répondre
os2
le 15/06/2004 à 00:31
os2
salut

j'ai l'erreur:
Parse error: parse error, unexpected T_VARIABLE

avec le code ci-dessous


$sou_nosoussection=get_nosoussectionlivre($_POST['nomsection']);

$requete = "insert into tmplivre (liv_titre, liv_image, liv_commentaire, sou_nosoussection) values ($_POST['titre'], 'img/non_dispo.png', $_POST['commentaire'],$sou_nosoussection)";


je ne vois pas trop où est l'erreur

merci
http://www.laboiteaprog.com
moogli
le 15/06/2004 à 00:58
moogli
salut ta un pb de variable (qui doit pa exister ou qui est mal utiliser) donne nous juste la ligne indiquer dans ton erreur stp.
ensuite en général on fait plutot
$requete = "insert into tmplivre values ($_POST['titre'], 'img/non_dispo.png', $_POST['commentaire'],$sou_nosoussection)";
m'enfin si sa marche d'habitude n'en tien pa compte
Il en faut peu pour être heureux !!!!!
os2
le 15/06/2004 à 01:01
os2
la ligne qui cause problème est la suivante

$requete = "insert into tmplivre (liv_titre, liv_image, liv_commentaire, sou_nosoussection) values ($_POST['titre'], 'img/non_dispo.png', $_POST['commentaire'],$sou_nosoussection)";


j'avais une erreur sur une autre ligne ce qui occasionnaire le message cité plutôt...

l'erreur maintenant est:
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
http://www.laboiteaprog.com
moogli
le 15/06/2004 à 01:10
moogli
Essais de mettre des ' autour de tes champs
requete = "insert into tmplivre (liv_titre, liv_image, liv_commentaire, sou_nosoussection) values ('$_POST['titre']', 'img/non_dispo.png',' $_POST['commentaire']','$sou_nosoussection')";

sinon tu peut aussi essayer
requete = 'insert into tmplivre values ("'.$_POST['titre'].'", "img/non_dispo.png", "'.$_POST['commentaire'].'","'.$sou_nosoussection.'")';
Il en faut peu pour être heureux !!!!!
os2
le 15/06/2004 à 01:16
os2
Moogli avec ces deux solutions, l'erreur est la même...
http://www.laboiteaprog.com
moogli
le 15/06/2004 à 01:36
moogli
eu j'espere que ta rajouter les $ que j'ai oublier ensuite tes sur d'avoir toute tes variables avant la requete? fait un wall avec tout le code.
Il en faut peu pour être heureux !!!!!
os2
le 15/06/2004 à 01:41
os2
bien sur là :)

j'ai corrigé en faisant:

$requete = 'insert into tmplivre (liv_titre, liv_image, liv_commentaire, sou_nosoussection) values (\''.$_POST['titre'].'\',\''.$_POST['imglivre'].'\',\''.$_POST['commentaire'].'\','.$sou_nosoussection.')';



dans une string, quand je veux mettre une autre string il y a une syntaxe a faire?

$requete = mysql_query("SELECT sou_nosoussection FROM soussection ss INNER  JOIN section s ON ss.sec_nosection = s.sec_nosection WHERE sec_nomsection = $sec_nomsection and sou_soussection='livres'");
$ligne = mysql_fetch_assoc($requete);
return($ligne["sou_nosoussection"]);


j'ai un problème avec ce code et je pense bien que c'est à cause de la string livres

car ici
http://www.laboiteaprog.com
moogli
le 15/06/2004 à 01:51
moogli
ta juste remplacer le " par de \' ???
enfin bref.

pour ta question je suppose que tu parler de faire une concaténation de chaine ?
$chaine1="os";
$chaine2='2';
echo $chaine1.$chaine2;

pour ta chaine livres je vois po trop. parcontre tu dervait mettre des simple quote autour de tes champs dans le where.
http://www.lephpfacile.com/cours/index.php?page_a_afficher=14
j'invente rien c'est la syntaxe de mysql manuel php
Il en faut peu pour être heureux !!!!!
os2
le 15/06/2004 à 02:03
os2
oui juste remplacé


je fais
$sou_nosoussection= get_nosoussectionlivre($_POST['nomsection']);

function get_nosoussectionlivre($sec_nomsection)
{
$requete = mysql_query('SELECT sou_nosoussection FROM soussection ss INNER JOIN section s ON ss.sec_nosection = s.sec_nosection WHERE sec_nomsection = $sec_nomsection and sou_soussection="Livres"');
$ligne = mysql_fetch_assoc($requete);
return($ligne["sou_nosoussection"]);
}


à la ligne du $ligne...

j'ai l'erreur:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource


ma requête fonctionne bien dans phpadmin en remplacant le $sec_nomsection par une valeur

de plus la fonction reçoit bien paramètre, je l'ai testé avec un echo...
http://www.laboiteaprog.com
os2
le 15/06/2004 à 02:50
os2
ok c'est correct...

code fonctionner mais aucune donnée n'est insérée dans la bd...

ça fonctionne....

function get_nosoussectionlivre($sec_nomsection)
{
$requete = mysql_query('SELECT sou_nosoussection FROM soussection ss INNER JOIN section s ON ss.sec_nosection = s.sec_nosection WHERE sec_nomsection = "$sec_nomsection" and sou_soussection="Livres"');
echo mysql_errno() . ": " . mysql_error(). "\n";
$ligne = mysql_fetch_assoc($requete);
return($ligne["sou_nosoussection"]);
}

...

$sou_nosoussection= get_nosoussectionlivre($_POST['nomsection']);

$requete = 'insert into tmplivre (liv_titre, liv_image, liv_commentaire, sou_nosoussection) values (\''.$_POST['titre'].'\',\''.$imglivre.'\',\''.$_POST['commentaire'].'\','.$sou_nosoussection.')';

$result = mysql_query($requete);
echo"Merci d'avoir contribué.";


le echo s'affiche bien...

mais rien n'est inséré dans la bd
http://www.laboiteaprog.com
Répondre
LoadingChargement en cours