Erreur sur MySQL

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Erreur sur MySQL

Message par Ymai »

Bonjour
Lors d'une tentative d'envoi de la requête

Code : Tout sélectionner

CREATE TABLE `ades_users` (
`idedu` int( 11 ) NOT NULL AUTO_INCREMENT ,
`user` varchar( 30 ) COLLATE utf8_unicode_ci NOT NULL default '',
`nom` varchar( 30 ) COLLATE utf8_unicode_ci NOT NULL default '',
`prenom` varchar( 30 ) COLLATE utf8_unicode_ci NOT NULL default '',
`email` varchar( 40 ) COLLATE utf8_unicode_ci NOT NULL default '',
`mdp` varchar( 40 ) COLLATE utf8_unicode_ci NOT NULL ,
`privilege` enum( 'admin', 'educ', 'readonly' ) COLLATE
utf8_unicode_ci NOT NULL default 'educ',
`timeover` tinyint( 20 ) NOT NULL default '0',
PRIMARY KEY ( `idedu` ) ,
KEY `user` ( `user` )
) ENGINE = MYISAM DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci
COMMENT = 'Utilisateurs de l''application';
sur une machine sous zmws, un utilisateur me signale l'erreur suivante:

Code : Tout sélectionner

MySQL a répondu:Documentation
#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 'collate utf8_unicode_ci NOT NULL default '',
  `nom` varchar(30
La même personne utilise également EasyPHP. Et là, pas de problème.

Je présume que c'est un souci de version de MySQL. Gagné?
Merci pour toute réponse.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.6) Gecko/20061201 Firefox/2.0.0.6 (Ubuntu-feisty)
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Je pense que tu peux remplacer

Code : Tout sélectionner

`nom` varchar( 30 ) COLLATE utf8_unicode_ci NOT NULL default '', 
par

Code : Tout sélectionner

nom varchar(30) NOT NULL, 
pour un résultat (presque) identique... pour autant que l'encodage par défaut de la base soit utf8_unicode_ci bien sûr !

Après, il faudrait voir la version de MySQL...

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.6) Gecko/20061201 Firedragon Firefox/2.0.0.6 (Ubuntu-feisty)
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

Merci pour la réponse
J'avais simplement enlevé toute référence au type d'encodage. C'est donc sans doute un peu trop drastique. Je risque donc plein de problèmes avec tous les caractères accentués.

L'utilisateur signale qu'il est sous MySQL 5.0.37 sous zmws (là où la requête fait problème) et MySQL 5.0.27 sous EasyPHP où la requête passe sans problème.
Serait-ce plutôt un souci de configuration de MySQL?

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.6) Gecko/20061201 Firefox/2.0.0.6 (Ubuntu-feisty)
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Ymai a écrit :Merci pour la réponse
J'avais simplement enlevé toute référence au type d'encodage. C'est donc sans doute un peu trop drastique. Je risque donc plein de problèmes avec tous les caractères accentués.
Non, si la base de données a utf8_unicode_ci comme encodage par défaut, il n'y a aucun risque a priori.
Mais visiblement ce n'est pas ça, la version 5 supporte l'unicode (je pensais que ça aurait pu être une vieille 3.x qui subsistent encore...)
Ymai a écrit :L'utilisateur signale qu'il est sous MySQL 5.0.37 sous zmws (là où la requête fait problème) et MySQL 5.0.27 sous EasyPHP où la requête passe sans problème.
Serait-ce plutôt un souci de configuration de MySQL?
C'est plutôt probable, je doute qu'il y ait énormément de différences entre la 5.0.27 et la 5.0.37. Cela dit, je ne vois pas où pourrait se situer une erreur de syntaxe... bref, je ne sais pas trop que te dire :oops:

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.6) Gecko/20061201 Firesalamandre Firefox/2.0.0.6 (Ubuntu-feisty)
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

calimo a écrit :Cela dit, je ne vois pas où pourrait se situer une erreur de syntaxe... bref, je ne sais pas trop que te dire :oops:
D'autant que c'est la même syntaxe qui est utilisée dans les deux cas.
Merci d'avoir joué.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.6) Gecko/20061201 Firefox/2.0.0.6 (Ubuntu-feisty)
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 5 invités