SQL/PHP requête avec l'ORDRE et la OÙ la
Je vais avoir un problème de requête SQL. Je suis en train d'essayer de récupérer les données d'une manière ordonnée entre les deux dates. Voici une simplification du code, je vais avoir des problème avec:
$query = "SELECT Name DateTime FROM table1";
$query .= " ORDER BY DateTime ASC";
$query .= " WHERE DateTime between date1 AND date2";
$result = mysql_query($query);
//fetch data here
while($row = mysql_fetch_array($result))
{
$output[] = $row;
}
print(json_encode($output));
Le code ci-dessus fonctionne quand j'en commentaire la ligne: $query .= "COMMANDE PAR DateTime ASC";
Ce que je peux corriger afin que je puisse retourner commandé des données entre deux dates?
EDIT:
Quand je bouge pour après OÙ ne devrait pas $output maintenant trier? Je retourne à une application android et il ne semble pas être le cas.
- Vous avez également besoin d'une virgule:
SELECT Name, DateTime
Vous devez vous connecter pour publier un commentaire.
La clause ORDER BY doit venir à la fin:
L'ordre général de clauses:
$result = mysql_query($query) or die(mysql_error())
, au strict minimum, ce qui aurait révélé l'erreur de syntaxe immédiatement.Vous de requête est presque correct, mais le
ORDER BY
clause doit venir aprèsWHERE
.Le changer en:
Le problème se situe dans l'ordre des éléments dans votre requête:
ORDER
partie devrait venir aprèsWHERE
partie.Voir, par exemple,la documentation de l'eg. MySQL
SELECT
syntaxe:Votre COMMANDE d'ici à la fin de la requête
Vous ne sélectionnez avec votre condition alors de l'ordre de votre résultat. Afin de mettre de l'ordre à la fin de la requête