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

PHP & Base de données Discussion :

[MySQL] SQLSTATE[42000]: Syntax error or access violation: 1064 [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2011
    Messages : 30
    Points : 22
    Points
    22
    Par défaut [MySQL] SQLSTATE[42000]: Syntax error or access violation: 1064
    Bonjour à tous !

    J'essaye d'afficher un graphique sur ma page web grâce à JpGraph, mais pour ce faire, je dois récupérer des informations de ma BDD.
    Evidemment il y a un soucis, sinon je ne serais pas là !
    Mon graphique ne s'affiche pas et j'ai ces 2 erreurs:

    - Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 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 '' at line 6' in C:\wamp\www\mon_fichier.php on line 34
    -PDOException: SQLSTATE[42000]: Syntax error or access violation: 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 '' at line 6 in C:\wamp\www\mon_fichier.php on line 34

    Je suis quasiment sûr que c'est un problème de guillemet et d’apostrophe dans ma requette query() mais j'arrive pas à le résoudre.

    Voilà la partie de code de la page qui pose problème:
    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
    <?php
     
     
     
    		// Connection à la BDD, Permet de récupérer les erreurs, ainsi le mdp n'est pas affiché si il y a erreur dessus.
    		try
    			{
    			$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    			$bdd = new PDO('mysql:host=localhost;dbname=capteurstemp', 'root', '', $pdo_options);
    			}
    		catch (Exception $e)
    			{
    			die('Erreur : ' . $e->getMessage());
    			}
     
     
    // Récupération des données dans la BDD, des température de la sonde météo d'aujourd'hui
    // Date au format YYYY-MM-DD HH:MM:SS	
     
    //echo $_POST['date_debut'];
     
     
    // Récuperation des températures situées entre 2 dates
    $temp = $bdd->query('
    							
    							SELECT Température
    							FROM sonde_station_met
    							WHERE (
    							Date
    							BETWEEN "2011-07-10 00:00:00"
    							AND ADDDATE( "2011-07-14 00:00:00", INTERVAL 1 DAY ) 
    									
    
    						');
    J'ai essayé de mettre un ' à la place des " dans mes dates mais ça ne marche pas non plus. Mon problème est que je travaille sur un format DateTime et non pas texte, ce qui pose problème pour toutes ces histoires de " et '.

    Merci de votre aide.

  2. #2
    Expert éminent sénior

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Points : 19 373
    Points
    19 373
    Par défaut
    Et si tu essaies :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $temp = $bdd->query('
     
    							SELECT Température
    							FROM sonde_station_met
    							WHERE (
    							Date
    							BETWEEN "'2011-07-10 00:00:00'"
    							AND ADDDATE( "'2011-07-14 00:00:00'", INTERVAL 1 DAY ) 
     
     
    						');
    Tuto : http://baptiste-wicht.developpez.com...rver/datetime/
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2011
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    ça ne fonctionne toujours pas:

    - Parse error: syntax error, unexpected T_LNUMBER in C:\wamp\www\mon_fichier.php on line 30

    La ligne 30 est exactement au niveau de la première date.

  4. #4
    Membre averti Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Points : 434
    Points
    434
    Par défaut
    Bonjour,
    C'est normal la parenthèse après le where ? En plus je ne vois pas où elle se ferme.

    Sohnic
    http://www.noctinfo.fr/

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez-le à conquérir le monde en le reproduisant.
    (")-(")

  5. #5
    Membre éprouvé Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Points : 1 275
    Points
    1 275
    Par défaut
    pour moi c'est cette parenthèse après le WHERE qui n'est pas bonne.... Il faut la supprimer.
    Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre.

    Linus Torvalds

  6. #6
    Expert éminent sénior

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Points : 19 373
    Points
    19 373
    Par défaut
    Citation Envoyé par sohnic Voir le message
    Bonjour,
    C'est normal la parenthèse après le where ? En plus je ne vois pas où elle se ferme.

    Sohnic
    Oh je l'avais pas vu celle la ! En effet cette parenthèse n'a rien à faire ici.
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2011
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    Effectivement, c'était bien cela le problème.
    J'ai mis juste des guillemets autour de mes dates et le tour était joué !

    Merci beaucoup pour votre réactivité !

    J'ai un peu honte d'avoir fait ce genre d'erreur...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PDO] SQLSTATE[42000]: Syntax error or access violation: 1064
    Par martin30200 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 10/11/2014, 11h45
  2. Réponses: 2
    Dernier message: 12/05/2014, 16h32
  3. [PDO] Erreur louche : 'SQLSTATE[42000]: Syntax error or access violation: 1064'
    Par oliopur dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 19/03/2012, 17h10
  4. [MySQL] Erreur SQL : SQLSTATE[42000]: Syntax error or access violation: 1064
    Par petit.quent dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 29/12/2011, 16h13
  5. [PDO] Erreur incompréhensible : 'SQLSTATE[42000]: Syntax error or access violation: 1064'
    Par cyril_k dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 13/12/2008, 12h12

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