IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

SQL erreur 1064


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club

    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 67
    Points : 62
    Points
    62
    Billets dans le blog
    1
    Par défaut SQL erreur 1064
    Bonjour à toutes et à tous,

    SQL erreur 1064

    Wampserver 3.0.1 - Base utf8_general_ci – table test

    Une recherche sur le Web me propose PCRepairKit, qu'en pensez-vous*?

    1 ) - Première formulation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * FROM 'news' WHERE 1
     
    <style>html{display:block}</style>
    MySQL a répondu:
    #1064 - Erreur de syntaxe près de ''news' Where 1 LIMIT 0, 25' Ã* la ligne 1
    Où est l'erreur*? Que faire*?

    2 ) - Deuxième formulation (w3schools.com)(SELECT * FROM table_name
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * FROM news WHERE id='1'
     
    <style>html{display:block}</style>
    Affichage des lignes 0 - 0 (total de 1, Traitement en 0.0000 secondes.)
    Où est l'erreur*? Que faire*?

    Commentaire
    la ligne id =1 existe mais elle ne s'affiche pas*!
    Question
    il y a deux formulations. Laquelle est la bonne*?

    Avec mes remerciements
    Cordialement
    Papy

  2. #2
    Membre averti Avatar de Amélie Ladoque
    Inscrit en
    Novembre 2004
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 251
    Points : 310
    Points
    310
    Par défaut
    Bonjour,

    La table news existe t-elle ?

    Le mieux serait de nous faire une capture d'écran de PhpMyAdmin pour voir où est exécutée la requête.

  3. #3
    Membre du Club

    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 67
    Points : 62
    Points
    62
    Billets dans le blog
    1
    Par défaut SQL erreur 1064
    Merci Amélie Ladoque,

    j'ai repris ma commande. J'ai du faire une erreur car je ne trouve pas les mêmes résultat. J'ai obtenu un résultat vide. Tout est sur la pièce jointe. Où est l'erreur*?

    Cordialement
    Papy
    Images attachées Images attachées  

  4. #4
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut Papy Sympa.

    Tu passes du forum wampserver à developpez pour ton problème de création d'une base de donnée !

    1) SQL erreur 1064 est une erreur de syntaxe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MySQL Error 1064: You have an error in your SQL syntax
    2) tu as confondu l'apostrophe (') droite avec l'apostrophe (`) culbuté.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM 'news' WHERE 1
    Un nom de table n'est pas une chaîne de caractères.
    La bonne syntaxe est soit de ne rien mettre du tout :
    soit de mettre l'apostrophe culbuté :
    On met un nom de colonne ou un nom de table entre apostrophe culbuté, quand tu utilises un mot reservé.
    Donc la bonne pratique est de ne pas utiliser de mot réservée et de ne pas utiliser d'apostrophe culbuté dans des requêtes.

    3) la valeur d'une colonne numérique ne se déclare pas comme une chaîne de caractères.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM news WHERE id='1'
    La bonne façon de faire est de mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM news WHERE id=1
    Tu doit vérifier le type de ta colonne avant de mettre soit une chaîne de caractères (entre apostrophe) ou soit une valeur numérique.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  5. #5
    Membre du Club

    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 67
    Points : 62
    Points
    62
    Billets dans le blog
    1
    Par défaut SQL erreur 1064
    Bonjour Artemus24,

    En SQL quand faut-il utiliser l'apostrophe culbuté*?
    Je ne suis pas sorti du tunnel.
    J'utilise la table news de la base de données test.
    Je n'arrive toujours pas à obtenir un résultat.
    La bonne façon ne marche pas. Que faire*?
    Cordialement
    Papy
    Nom : 160210 0947 Where synthèse.png
Affichages : 3142
Taille : 100,8 Ko

  6. #6
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut Papy Sympa.

    Citation Envoyé par Papy Sympa
    En SQL quand faut-il utiliser l'apostrophe culbuté ?
    Je te l'ai déjà dit :
    Citation Envoyé par Artemus24
    On met un nom de colonne ou un nom de table entre apostrophe culbuté, quand tu utilises un mot réservé.
    Donc la bonne pratique est de ne pas utiliser de mot réservé et de ne pas utiliser d'apostrophe culbuté dans des requêtes.
    Citation Envoyé par Papy Sympa
    Je n'arrive toujours pas à obtenir un résultat.
    D'après ce que je voie, tes deux requêtes fonctionnent parfaitement.

    Je pense que tu t'y prends mal.
    Il faut mettre un "use {nom de ta base de données}", afin d'indiquer à MySql quelle est la base de données que tu veux utiliser.
    D'après ce que je voie, je pense que tu dois mettre : "use test;".
    Ensuite, tu fais ton select, comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    use test;
    select * from news;
    Voici un exemple dont tu peux te servir pour tester MySql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    --------------
    SET AUTOCOMMIT = 0
    --------------
     
    --------------
    START TRANSACTION
    --------------
     
    --------------
    DROP DATABASE IF EXISTS `base`
    --------------
     
    --------------
    CREATE DATABASE `base`
            DEFAULT CHARACTER SET `latin1`
            DEFAULT COLLATE       `latin1_general_ci`
    --------------
     
    --------------
    DROP TABLE IF EXISTS `test`
    --------------
     
    --------------
    CREATE TABLE `test`
    (
      `id`       integer unsigned NOT NULL AUTO_INCREMENT Primary Key,
      `titre`    varchar(255)     NOT NULL,
      `contenu`  varchar(255)     NOT NULL
    ) ENGINE=InnoDB
      DEFAULT CHARSET=`latin1` COLLATE=`latin1_general_ci`
      ROW_FORMAT=COMPRESSED
    --------------
     
    --------------
    INSERT INTO `test` (`titre`, `contenu`) VALUES
    ('titre 1', 'aaaa'),
    ('titre 2', 'bb'),
    ('titre 3', 'ccc'),
    ('titre 4', 'ddddd')
    --------------
     
    --------------
    select * from test
    --------------
     
    +----+---------+---------+
    | id | titre   | contenu |
    +----+---------+---------+
    |  1 | titre 1 | aaaa    |
    |  2 | titre 2 | bb      |
    |  3 | titre 3 | ccc     |
    |  4 | titre 4 | ddddd   |
    +----+---------+---------+
    --------------
    COMMIT
    --------------
     
    --------------
    SET AUTOCOMMIT = 1
    --------------
     
     
    Appuyez sur une touche pour continuer...
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/08/2011, 11h45
  2. erreur #1064 - You have an error in your SQL syntax;
    Par tamatifa dans le forum Installation
    Réponses: 1
    Dernier message: 20/05/2009, 22h21
  3. PHP SQL =>erreur de syntaxe (operateur absent)
    Par snipes dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/02/2005, 14h09
  4. [ASP][SQL]Erreur lors d'un select
    Par DEC dans le forum ASP
    Réponses: 12
    Dernier message: 08/06/2004, 17h54
  5. Réponses: 6
    Dernier message: 08/06/2004, 14h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo