Erreur requête SQL ajouter dans programme php

Résolu/Fermé
fluks Messages postés 15 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 décembre 2008 - 15 déc. 2008 à 22:21
 Profil bloqué - 15 déc. 2008 à 22:58
Bonjour,

Je me tourne vers vous, car je suis au bord du nervous breakdown, je suis complètement novice en php, et c'est bien malgré moi que je m'y met, je dois faire un site en php (projet pr mon Master 2) qui gère entre autres, l'ajout de données vers une base MySQL en passant par un formulaire.

Le formulaire html, pas de problème, mais IMPOSSIBLE d'entrer les données : "erreur requête" !!!

J'offre à la vindicte populaire mon humble code php tout pourri...aux bonnes âmes ayez pitié, c'est mon PREMIER et j'espère DERNIER site php :

Voici le code du fichier ajouterform.php qui propose le formulaire et apelle le second programme ajoutersql.php que je donnerai après :

<body>
<br><br><br>
<h1 align="center">Ajouter un Disque :</h1>
<form action= "ajoutersql.php" method="POST">

<td><x>Référence : </x><br><td><input type="text" name="reference" size="20"><br></td>
<td><x>Titre : </x><br><input type="text" name="titre" size="50"><br></td>
<td><x>Artiste : </x><br><input type="text" name="artiste" size="30"><br></td>
<td><x>Label : </x><br><input type="text" name="label" size="30"><br></td>
<td><x>Genre : </x><br><input type="text" name="genre" size="15"><br></td>

<x>
<label for="format">Format :</label><br />
<select name="format" id="format">
<option value="CD">CD</option>
<option value="LP">LP</option>
<option value="2xLP">2xLP</option>
<option value="MAXI">MAXI</option>
<option value="EP">EP</option>
</select>
</x><br>

<td><x>Année : </x><br><input type="text" name="annee" size="10"><br></td>
<td><x>Cote : </x><br><input type="text" name="cote" size="5"><br></td>
<td><x>Image : </x><br><input type="text" name="image" size="30"><br></td>
<br><input type="submit" value="Ajouter">



</form>
</body>
</html>




et voici le fichier ajoutersql.php :



<html><head><title>Ajouter un Disque</title></head>
<body>
<?php

require("connecter.php");


$query= "INSERT INTO release (rel_ref, rel_titre, rel_artiste, rel_label, rel_genre, rel_format, rel_annee, rel_cote, rel_image)
VALUES ('$_POST[reference]','$_POST[titre]','$_POST[artiste]', '$_POST[label]','$_POST[genre]', '$_POST[format]', '$_POST[annee]', '$_POST[cote]', '$_POST[image]')";


mysql_query($query)or die( "erreur requete" );


mysql_close($link);
print "Produit ajouté : c'est fait";
?>



MERCI aux personnes qui se pencheront sur mon problème, je sais que c'est pas facile de se plonger comme ca dans un code dont on n'est pas l'auteur...
A voir également:

2 réponses

lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
15 déc. 2008 à 22:30
bonsoir,
essaye comme ça



$query= "INSERT INTO release (rel_ref, rel_titre, rel_artiste, rel_label, rel_genre, rel_format, rel_annee, rel_cote, rel_image)
VALUES ('".$_POST[reference]."','".$_POST[titre]."','".$_POST[artiste]."', '".$_POST[label]."','".$_POST[genre]."', '".$_POST[format]."', '".$_POST[annee]."', '".$_POST[cote]."', '".$_POST[image]."')";
//je place un echo pour voir si tu recupere tt tes valeurs
echo $query.'</br/>';
0
fluks Messages postés 15 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 décembre 2008 1
15 déc. 2008 à 22:35
bonsoir lewis34,

merci pour ta réponse rapide !!

ceci dit, comme a chaque fois, je passe 5h a chercher (sans mentir je suis la dessus depuis 19h30), et c'est une fois que j'ai posté que j'ai une idée...

en fait c'était simplement dans le INSERT into release, et bien il fallait écrire INSERT into `release`......j'ai aucune idée d'ou ca provient cette erreur car c'est rarement écrit comme ca, si jamais tu le sais je serais ravi de l'apprendre !

merci en tout cas,
on peut le spécifier comme résolu !
0
Profil bloqué
15 déc. 2008 à 22:58
Bonjour,

Quelques bonnes pratiques PHP :

- Je te conseille de faire $_POST['reference'] au lieu de $_POST[reference] pour tes variables.
Dans $_POST[reference], reference peut-être traitée comme une constante, donc causer erreur.

- Et aussi ajouter mysql_error() pour afficher le message d'erreur : die( 'Erreur survenue : ' .mysql_error() )

- Filtrer les données avant de faire INSERT INTO afin d'éviter l'injection de codes malicieux dans ta base de données.
0