Problème de syntaxe dans une requête sql
Résolu
stox
-
A.Nonymous -
A.Nonymous -
Bonjour,
J'ai un problème dans ma requête SQL, j'aimerais récupérer les infos d'une BDD après une certaine date. Lorsque je met cette date en dur, le code fonctionne bien :
$reponse = $bdd->query('SELECT Date_heure,P1,DATE(Date_heure) AS Date,TIME(Date_heure) AS Time FROM puissance WHERE Date_heure >= \'2012-6-21 17:01:00\' ');
Mais j'aimerais utiliser une variable date à la place, et là mon code ne fonctionne plus :
$debut = '2012-6-21 17:01:00'; // en réalité cette variable est récupérée via un formulaire
$reponse = $bdd->query('SELECT Date_heure,P1,DATE(Date_heure) AS Date,TIME(Date_heure) AS Time FROM puissance WHERE Date_heure >= \'$debut\' ');
Je pense qu'il doit s'agir d'une erreur de syntaxe mais je ne trouve pas ce qu'il faut changer.
J'ai un problème dans ma requête SQL, j'aimerais récupérer les infos d'une BDD après une certaine date. Lorsque je met cette date en dur, le code fonctionne bien :
$reponse = $bdd->query('SELECT Date_heure,P1,DATE(Date_heure) AS Date,TIME(Date_heure) AS Time FROM puissance WHERE Date_heure >= \'2012-6-21 17:01:00\' ');
Mais j'aimerais utiliser une variable date à la place, et là mon code ne fonctionne plus :
$debut = '2012-6-21 17:01:00'; // en réalité cette variable est récupérée via un formulaire
$reponse = $bdd->query('SELECT Date_heure,P1,DATE(Date_heure) AS Date,TIME(Date_heure) AS Time FROM puissance WHERE Date_heure >= \'$debut\' ');
Je pense qu'il doit s'agir d'une erreur de syntaxe mais je ne trouve pas ce qu'il faut changer.
A voir également:
- Problème de syntaxe dans une requête sql
- Logiciel sql - Télécharger - Bases de données
- Syntaxe precise - Forum Mail
- Trouver erreur de syntaxe fichier txt - Forum Windows
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Java
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
3 réponses
A priori, c'est une erreur PHP plus que SQL.
Attention à l'usage des simplte et double-quotes.
Pour rappel, c'est seulement dans des double-quotes que les variables peuvent être interprétées.
Attention au format de date, ça pourrait poser problème : 2012-06-21 17:01:00 serait mieux.
Attention à l'usage des simplte et double-quotes.
Pour rappel, c'est seulement dans des double-quotes que les variables peuvent être interprétées.
Attention au format de date, ça pourrait poser problème : 2012-06-21 17:01:00 serait mieux.
$reponse = $bdd->query('SELECT Date_heure,P1,DATE(Date_heure) AS Date,TIME(Date_heure) AS Time FROM puissance WHERE Date_heure >= \'$debut\' ');
Et bien tu utilises un variable dans des guillemets de type '
$reponse = $bdd->query("SELECT Date_heure,P1,DATE(Date_heure) AS Date,TIME(Date_heure) AS Time FROM puissance WHERE Date_heure >= '$debut' ");
Essaies avec ceci
Et bien tu utilises un variable dans des guillemets de type '
$reponse = $bdd->query("SELECT Date_heure,P1,DATE(Date_heure) AS Date,TIME(Date_heure) AS Time FROM puissance WHERE Date_heure >= '$debut' ");
Essaies avec ceci
je récupère la date et je la formate de la manière suivante :
$chaine = $_POST['date_debut'];
$time = strtotime($chaine);
$mydate = date('y-m-d H:i:s',$time);
je crois que c'est plutôt dans la requête que ça pose problème, je ne sais pas sous quelle forme mettre ma variable $mydate.
quand je fais un echo $mydate, ça me retourne bien la date sous la forme :
2012-6-21 17:01:00
echo 'SELECT Date_heure,P1,DATE(Date_heure) AS Date,TIME(Date_heure) AS Time FROM puissance WHERE Date_heure >= \'$debut\' ';
Catchable fatal error: Object of class PDOStatement could not be converted to string in C:\wamp\www\formulaire\test2.php on line 11
la ligne 11 est :
echo $reponse;
ça me met cette erreur même quand j'enlève la condition du WHERE