Erreur SQL ! trouve pas ...

Résolu
dubuducu Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   -  
dubuducu Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je cherche, je cherche mais ne trouve pas ! Pouvez vous me rendre service concernant cette erreur sql qui m'embete un peu ! Merci d'avance !
fonction transfert !!
function transfert ()
{
$ret = false;
$img_blob = '';
$img_taille = 0;
$img_type = '';
$img_nom = '';
$taille_max = 250000;
$ret = is_uploaded_file ($_FILES['fic']['tmp_name']);
if ( !$ret )
{
echo "Problème de transfert";
return false;
}
else
{
// Le fichier a bien été reçu
$img_taille = $_FILES['fic']['size'];
if ( $img_taille > $taille_max )
{
echo "Trop gros !";
return false;
}
$img_type = $_FILES['fic']['type'];
$img_nom = $_FILES['fic']['name'];
$desc = $_POST['desc'];
$tarifs = $_POST['tarifs'];

include('config.php');

$img_blob = file_get_contents ($_FILES['fic']['tmp_name']);

$sql2 = "UPDATE images SET desc = '".$desc."' AND tarifs = '".$tarifs."' AND img_nom = '".$img_nom."' AND img_taille = '".$img_taille."' AND img_type = '".$img_type."' AND img_blob = addslashes (".$img_blob.") ";
$result2 = mysql_query($sql2) or die( "Erreur !!!!!! : " . mysql_error() ); 

return true;

}
}



L'erreur résultante est la suivante :
Erreur !!!!!! : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc = 'fv' AND tarifs = 'fv' AND img_nom = 'bordeaux_imprimer.gif' AND img_tail' at line 1


Merci beaucoup

4 réponses

Dr Zoidberg Messages postés 529 Date d'inscription   Statut Membre Dernière intervention   100
 
Salut,

'desc' est un mot réservé du langage sql (utilisé dans les clauses order by).
Ce n'est pas très recommandé de l'utiliser comme nom de colonne.
Cependant si tu ne veux pas en changer tu peux essayer de la mettre entre 'cotes inverses' :
... SET `desc` = 'fv' ...
1
Dr Zoidberg Messages postés 529 Date d'inscription   Statut Membre Dernière intervention   100
 
J'avais vu le détail mais pas le gros du problème :) : la syntaxe correcte d'un update avec set c'est
set a=1, b=2, ...

toi tu mets des AND à la place des virgules
1
dubuducu Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   4
 
Merci vraiment !!! Super précisions !!
Dr Zoidberg (j'aime bien ce nom :) ) je vous remercie vraiment !
voici le code correct :
$sql2 = "UPDATE images SET description = '".$description."', tarifs = '".$tarifs."' ,img_nom = '".$img_nom."', img_taille = '".$img_taille."', img_type = '".$img_type."', img_blob = '".$img_blob."' ";
$result2 = mysql_query($sql2) or die( "Erreur !!!!!! : " . mysql_error() ); 


A bientot j'espere
Cordialement.
1
dubuducu Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   4
 
Merci pour cette precision que je ne conaissais pas !
toutefois, meme en ayant changé le champ desc en description voici mon erreur :
Erreur !!!!!! : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2

Ma syntaxe deconne un peu !
0