Modifier enregistrement BD mysql

Résolu
Wpluton Messages postés 4 Statut Membre -  
 KSD -
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 :) :)
A voir également:

3 réponses

dreamfeeder Messages postés 253 Statut Membre 54
 
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.
0
Wpluton Messages postés 4 Statut Membre
 
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
0
KSD
 
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,
0