Rechercher : dans
Par :

Erreur MySQL : 1064

Dernière réponse le 11 jun 2008 à 16:55:13 startweb, le 26 sep 2007 à 15:27:59 
 Signaler ce message aux modérateurs

Bonjour.
J’ai un problème avec une requête SQL erreur MySQL : 1064

Voici l'erreur
Erreur lors de l'accès à la base de données : Syntaxe SQL incorrecte : UPDATE produit SET titre = 'aaa', soustitre = 'aaa', texte = 'aaa', image = 'logo-start-web-conception-p.jpg', legende = '', where id = 28
Erreur MySQL : 1064 (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 'where id = 28' at line 7)

La requête est sur la modification d'une table de produit ... l’ajout marche très bien
Merci d'avance pour l'aide apporté

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « erreur MySQL : 1064 » dans :
Duplicate entry '127' for key 1 VoirVous tentez de faire une insertion dans une table de votre base de données MySQL et vous obtenez l'erreur MySQL suivante: Duplicate entry '127' for key 1 Ceci provient très probablement du fait que la clé primaire de votre table est de type TINYINT...
MySQL en console sur Windows : désactiver le bip d'erreur VoirLorsque vous utilisez MySQL en console sur Windows, chaque erreur provoque un bip. Pour le désactiver, il vous suffit simplement de rajouter le paramètre -b dans votre chaîne de connexion : mysql -b -h serveur -u utilisateur -p Vos voisins...
[MySQL] Illegal mix of collations (latin1_swedish_ci,IMPLICIT) VoirSous phpMyAdmin vous obtenez l'erreur suivante : MySQL a répondu:Documentation #1267 - Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' Ceci est dû à l'ajout des "collations" sous MySQL...

1

ilan27, le 26 sep 2007 à 15:38:02

Bonjour, je te propose d'essayer comme ceci:
"UPDATE produit SET (`titre` = 'aaa', `soustitre` = 'aaa', `texte` = 'aaa', `image` = 'logo-start-web-conception-p.jpg', `legende` = '', where `id` = '28 ' "
pour differencier colonne de la bdd entre `` et valeurs entre ' '

Répondre à ilan27

2

startweb, le 26 sep 2007 à 15:47:55

Merci mais ca ne marche pas

Erreur lors de l'accès à la base de données : Syntaxe SQL incorrecte : UPDATE produit SET titre = 'aaa', soustitre = 'aaa', texte = 'aaassss', image = 'logo-start-web-conception-p.jpg', legende = '', where id = '28'
Erreur MySQL : 1064 (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 'where id = '28'' at line 7)

la requete : elseif ($a == "modif")
{

if ($suprimage == "oui") {

if (file_exists($_SERVER[DOCUMENT_ROOT]."/image/produit/".$image)) {
unlink($_SERVER[DOCUMENT_ROOT]."/image/produit/".$image);
}
$image = ""; $legende = ""; $legendeuk = "";
}

require_once("upload.php");
// nouvel objet Upload
$Upload = new Upload();
// taille maxi des fichiers
$Upload -> Maxfilesize = '2048';
// nombre de fichier à chopper
$Upload -> Fields = 1;
// debut d'utilisation
$Upload -> InitForm();

// test des extention valides (là, on prend tout)
$Upload -> Extension = '';
// definition du repertoire de reception d'upload
$Upload -> DirUpload = '../image/produit';
// debut de la classe Upload
$Upload -> Execute();
// on recupere le nom du champs image (le premier)
$image2=$Upload->Infos[1]['nom'];


$db = new accesBD;

// on ecrit la requete
$requete = " UPDATE produit SET
titre = '$titre',
soustitre = '$soustitre',
texte = '$texte',
image = '$image',
legende = '$legende',
where id = '$id' ";

$db->executeQuery ($requete);
header("Location: index.php?message=Modification enregistrée");

Répondre à startweb

3

ilan27, le 26 sep 2007 à 15:50:36

Essaye d'encadrer ce que tu ecris entre crochets par des apostrophes: ' comme ceci:
['...']

Répondre à ilan27

4

startweb, le 26 sep 2007 à 15:57:31

Ca me donne comme erreur
Erreur lors de l'accès à la base de données : Syntaxe SQL incorrecte : UPDATE produit SET titre = ['aaa'], soustitre = ['aaa'], texte = ['aaadd'], image = ['logo-start-web-conception-p.jpg'], legende = [''], where id = ['28']
Erreur MySQL : 1064 (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 '['aaa'], soustitre = ['aaa'], texte = ['aaadd'], image )

c'est un programme qui sert a ajouter, suprimer ou modifier ca marche mais pas la modification je pense que sa vient de where id = '$id' " Mais ...

Répondre à startweb

5

startweb, le 26 sep 2007 à 16:16:42

Besion d'aide SVP

Répondre à startweb

6

ilan27, le 26 sep 2007 à 17:03:29
  • +1

Ah mais non! :p
Ce n'est pas les valeurs des requetes qu'il faut mettre entre crochet (enleve les), ça c'estait bon, ce sont les trucs du genre $_SERVER[DOCUMENT_ROOT]
Exemple: $_SERVER['DOCUMENT_ROOT']

Répondre à ilan27

8

 gloomy94, le 11 jun 2008 à 16:55:13

Bonjour,

Est-ce que tes [...] peuvent aussi marcher pour:

LOAD DATA test INFILE 'C:\Dokumente und Einstellungen\vida\Desktop\lien vers BDD.xml'
INTO TABLE cd

Car j'ai le même problème que Starweb. Si oui ou les placer car j'ai essayer un peu partout et je ce message s'affiche toujours.

Merci d'avance

Répondre à gloomy94

7

bo, le 11 jun 2008 à 13:51:18

Il faut enlever la virgule avant le WHERE
, where

Répondre à bo