Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/07/2011, 15h47   #1
Futur Membre du Club
 
Homme Vincent
Étudiant
Inscription : juillet 2011
Messages : 30
Détails du profil
Informations personnelles :
Nom : Homme Vincent
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 : 15
Points : 15
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 :
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.
Domotik35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 16h04   #2
Modérateur
 
Avatar de FirePrawn
 
Homme Sébastien
Ingénieur réalisateur
Inscription : mars 2011
Messages : 775
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 24
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur réalisateur
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 775
Points : 2 335
Points : 2 335
Et si tu essaies :
Code :
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/
FirePrawn est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 16h20   #3
Futur Membre du Club
 
Homme Vincent
Étudiant
Inscription : juillet 2011
Messages : 30
Détails du profil
Informations personnelles :
Nom : Homme Vincent
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 : 15
Points : 15
ç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.
Domotik35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 16h26   #4
Membre éclairé
 
Avatar de sohnic
 
Femme
bioinfo
Inscription : mai 2003
Messages : 385
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : bioinfo

Informations forums :
Inscription : mai 2003
Messages : 385
Points : 363
Points : 363
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.
(")-(")
sohnic est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/07/2011, 16h28   #5
Membre chevronné
 
Avatar de Marc3001
 
Homme
Ingénieur développement logiciels
Inscription : février 2008
Messages : 430
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : février 2008
Messages : 430
Points : 682
Points : 682
pour moi c'est cette parenthèse après le WHERE qui n'est pas bonne.... Il faut la supprimer.
Marc3001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 16h29   #6
Modérateur
 
Avatar de FirePrawn
 
Homme Sébastien
Ingénieur réalisateur
Inscription : mars 2011
Messages : 775
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 24
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur réalisateur
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 775
Points : 2 335
Points : 2 335
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.
FirePrawn est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 16h42   #7
Futur Membre du Club
 
Homme Vincent
Étudiant
Inscription : juillet 2011
Messages : 30
Détails du profil
Informations personnelles :
Nom : Homme Vincent
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 : 15
Points : 15
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...
Domotik35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h59.


 
 
 
 
Partenaires

Hébergement Web