Modifier enregistrement BD mysql

Résolu/Fermé
Wpluton Messages postés 4 Date d'inscription samedi 26 avril 2008 Statut Membre Dernière intervention 29 mai 2008 - 26 avril 2008 à 22:27
 KSD - 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 :) :)
A voir également:

3 réponses

dreamfeeder Messages postés 253 Date d'inscription samedi 24 novembre 2007 Statut Membre Dernière intervention 25 juillet 2009 54
27 avril 2008 à 02:33
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 Date d'inscription samedi 26 avril 2008 Statut Membre Dernière intervention 29 mai 2008
27 avril 2008 à 13:12
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
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