Les Allergies
Alimentaires
Posez votre question Signaler

Modifier enregistrement BD mysql [Résolu]

Wpluton 4Messages postés 26 avril 2008Date d'inscription - Dernière réponse le 25 avril 2011 à 18:49
Bonjour,
voila je suis depuis peu inscrite sur ce site, je viens souvent lorsque j'ai des petits soucis technique. J'ai cherché dans des discussions précedentes mais jai tjs pas trouvé une solution à une erreur ds un script Php
Pb: jai une application php/mysql, jai une requete qui modifie un enregistrement de la bd mais après mainte relecture je trouve tjs pas l'erreur et celle-ci ne fonctionne pas :(
Schema : modifierchoixelement.php (tablo selection enregistremt bd") --> modifierformulaire.php (formulaire modification enregistremt) JUSQUE LA TOUT VA BIEN ... --> modifierelementsql.php (requete MAJ qui fonctionne pas)
Script :
error_reporting ("E_ALL and ~E_NOTICE");
//récupérer le nom de fichier pour l'ajouter dans le champ pdt_image de la table
$nomfichier = basename($_FILES['userfile']['name']);
// $_FILES['userfile']['name'] donne le chemin et le nom du fichier du controle 'userfile' du formulaire
// basename() garde le nom du fichier (ignorer le chemin précédent le nom du fichier)
if (empty($nomfichier)) {
$nomfichier = $_POST[fimage];
$saisieimage = "non";
}
//construire la requête SQL de MODIFICATION du produit sélectionné
// à partir des données POSTées depuis le formulaire
$query= "UPDATE element_patrimoine SET designation ='$_POST[fdesignation]', description ='$_POST[fdescription]', date ='$_POST[fdate]', image ='$nomfichier', WHERE num ='$_POST[fnum]'";
$result=mysql_query($query) or die( "erreur requete" );
mysql_close($link);
// copier l'image de l'hébergeur sur MON dossier Images si modifiée
if ($saisieimage <> "non") {
// ne copier l'image que si image saisie pour modification
$uploaddir = 'images/'; //dossier de destination de la copy en RELATIF
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);//chemin et dossier de destination
// basename() garde le nom du fichier (ignorer le chemin précédent le nom du fichier)
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
// move_uploaded_file copie le fichier temporaire de l'hébergeur vers le dossier images
// et retourne VRAI si l'opération s'est bien passée
// $_FILES['userfile']['tmp_name'] donne le nom du fichier temporaire chez l'hébergeur
// Tester plus d'informations avec print_r($_FILES);
echo "Produit modifié (et son image): c'est fait";
} else {
echo '<pre>';
echo "Attaque par upload potentielle. Voici plus d'informations :\n";
print_r($_FILES);
echo '</pre>';
}
}
?>
voila jespere juste avoir été clair ds les explications,
MERCIIIIIIIIIIIIII !! si qql peut jeter un coup d'oeil :) :)
Lire la suite 

Modifier enregistrement BD mysql »

3 réponses
Réponse
+0
moins plus
bonjour,
dans
query= "UPDATE element_patrimoine SET designation ='$_POST[fdesignation]', description ='$_POST[fdescription]', date ='$_POST[fdate]', image ='$nomfichier', WHERE num ='$_POST[fnum]'";


la virgule après '$nomfichier'.

cordialement.
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour dreamfeeder,

d'abord merci d'avoir pris le temps de regarder.

J'ai appliqué ce que tu m'as dit plus haut au sujet de la virgule après '$nomfichier', j'ai beau l'enlever ou la mettre le fichier ne fonctionne toujours pas... :( et m'indique toujours une "erreur dans la requête".

Si qqln à une solution car la je vois pas trop ... :) MERCIIIIIIIII
Ajouter un commentaire
Réponse
+0
moins plus
Bonsoir pour moi, j'imagine plutôt la requête sous la forme suivante :

$query= "UPDATE element_patrimoine SET designation =$_POST['fdesignation'], description =$_POST['fdescription'], date =$_POST['fdate'], image =$nomfichier, WHERE num =$_POST['fnum']";

en incluant les simple quote entre les crochets plutôt qu'à l'extérieur.

Cordialement,
Ajouter un commentaire
Ce document intitulé « Modifier enregistrement BD mysql » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?