Menu

Erreur requête SQL ajouter dans programme php [Résolu/Fermé]

Messages postés
15
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 décembre 2008
- - Dernière réponse :  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...
Afficher la suite 

2 réponses

Messages postés
2565
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
342
0
Merci
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/>';
Messages postés
15
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 décembre 2008
1
0
Merci
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 !
Profil bloqué -
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.