Rechercher : dans
Par :

{MySQL} #1064 - Erreur de syntaxe près de ')

Dernière réponse le 18 jun 2009 à 12:16:00 Absot, le 17 jun 2009 à 15:56:56 
 Signaler ce message aux modérateurs

Bonjour, j'ai un problème quand je veux rentrer des table dans ma BDD avec phpmyadmin, j'ai l'erreur #1064 - Erreur de syntaxe près de ') NOT NULL) ENGINE = InnoDB' à la ligne 1 mais je ne sais pas d'où vient le problème..

Voilà la table:

CREATE TABLE `site`.`Produit` (
`idProduit` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`nom` VARCHAR( 50 ) NOT NULL ,
`categorie` VARCHAR( 50 ) NOT NULL ,
`reference` VARCHAR( 50 ) NOT NULL ,
`photo` VARCHAR( 50 ) NOT NULL ,
`prixTTC` DOUBLE( 11 ) NOT NULL
) ENGINE = InnoDB 


A quoi sert ENGINE = InnoDB ?

Merci de votre aide.
Configuration: Windows XP
Firefox 2.0.0.20

Meilleures réponses pour « {MySQL} #1064 Erreur de syntaxe près de ') » dans :
Parse error: syntax error, unexpected $end VoirLorsque l'on programme en Php, on se retrouve inévitablement un jour devant ce genre d'erreur: Parse error: syntax error, unexpected $end in Command line code on line 1 En français, ça signifie grossièrement: "Erreur d'analyse du code: il y a une...
Eviter d'être bloqué en cas d'erreur TOO MANY CONNECTIONS VoirPar défaut, Mysql autorise 100 connexions (150 depuis la version 5.1) au serveur ... Cela signifie que le 101ème utilisateur recevra le message d'erreur "too many connections" ... Si cela vous arrive, quelqu'en soit la raison (site web trop...
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...
PHP - Connexion à un annuaire LDAP VoirIntroduction à LDAP PHP permet la connexion et l'envoi de requêtes sur un annuaire LDAP, c'est-à-dire un serveur permettant de stocker des informations de manière hiérarchique. Un serveur LDAP est conçu pour être capable de gérer les opérations...

1

Alkaaran, le 17 jun 2009 à 16:00:35

C'est DOUBLE (11) le problème, met plutot FLOAT ( 11) ou DOUBLE tout court

L'engine InnoDB est un moteur de tables, c'est lui qui va gérer la correspondance et le stockage des fichiers de BDD

Répondre à Alkaaran

2

cedrad33, le 17 jun 2009 à 16:00:46

Salut à ton CREATE TABLE, met seulement le nom de ta table

et ENGINE = INNO DB permet de gérer les clés étrangères

Répondre à cedrad33

3

Absot, le 17 jun 2009 à 16:06:43

Je viens de tester en mettant un INT à la place d'un double et ça fonctionne..

J'ai modifier ensuite le INT par un FLOAT et ça fonctionne aussi mais le FLOAT est l'équivalent du double?

Répondre à Absot

4

Alkaaran, le 17 jun 2009 à 16:11:27

Il est utilisé pour les nombres à virgule aussi oui

Plus d'infos : http://dev.mysql.com/doc/refman/5.0/fr/numeric-type-overview­.html

Répondre à Alkaaran

5

Absot, le 17 jun 2009 à 16:21:33

Je comprends mieux merci par contre j'ai une nouvelle erreur à ma table client, il me dit l'erreur #1067 - Valeur par défaut invalide pour 'postal' alors qu'elle est comme ça:

postal int( 5 ) NOT NULL default '',


Je ne vois pas trop où est le problème.. :/

Je voudrais aussi créer un fichier .sql qui me permet de faire une sauvegarde de mes données au cas où et pour la rentrer dans la BDD, il faut d'abord créer le base puis les tables et après importer le fichier?

Répondre à Absot

6

Alkaaran, le 17 jun 2009 à 16:24:46

postal int( 5 ) NOT NULL default 0,

Tu ne peut pas mettre de chaine dans un integer :)

Pour ton fichier fais simplement une sauvegarde avec phpMyadmin (si tu l'as)

Répondre à Alkaaran

7

Absot, le 17 jun 2009 à 16:54:59

C'est en faisant qu'on apprend :)

Pour mon fichier, je préfère l'option de créer un fichier .sql et après de l'importer dans phpmyadmin comme ça, si je change de pc ou autre, j'ai juste à le réinsérer..

Normalement, pour se connecter à la BDD, cette requête fonctionne?

$connexion = mysql_connect("localhost","root") or die("Connexion impossible au serveur");


Parce que j'ai cette erreur:

Warning: mysql_connect() [function.mysql-connect]: Accès refusé pour l'utilisateur: 'root'@'@localhost' (mot de passe: NON) in C:\Program Files\EasyPHP 3.0\www\site\catalogue.php on line 29
Connexion impossible au serveur


Et la ligne 29 est ma requête citée un peu plus haut..

Répondre à Absot

8

Alkaaran, le 17 jun 2009 à 16:59:15

$connexion = mysql_connect("localhost","root","motdepasse") or die("Connexion impossible au serveur");

Sinon tu peux exporter manuellement depuis phpmyadmin : cela te créera au choix un fichier .txt, .sql ou .zip et bien d'autres options :)

Répondre à Alkaaran

9

 Absot, le 18 jun 2009 à 12:16:00

Effectivement ça marche mieux avec un mot de passe... xD

Je commence à bien comprendre mysql :)

J'exporterai de temps en temps ma BDD pour en faire une sauvegarde..

Répondre à Absot