Requête : SELECT * FROM = ok , mais SELECT id, ... FROM = ko - PHP - Programmation
Marsh Posté le 03-05-2006 à 14:55:23
Au hasard, la table 'r1d' est vide ?
Marsh Posté le 03-05-2006 à 14:56:48
non.
Lorsque j'effectue la requete en tapant SELECT * FROM r1d, tout se passe bien, mais mon but est de formater la date et je dois passer par
SELECT id, DATE_FORMAT(date,'%d-%m-%Y à %H:%i:%s') AS date, .... FROM r1d
Je ne comprends pas mon erreur
Marsh Posté le 03-05-2006 à 15:03:41
Rajoute après chaque instruction mysql : or die('Erreur SQL :'.mysql_error());
Exemple :
$result = mysql_query("SELECT id, DATE_FORMAT(date,'%d-%m-%Y à %H:%i:%s') AS date, match, score FROM r1d ORDER BY id" ) or die('Erreur SQL :'.mysql_error());
Marsh Posté le 03-05-2006 à 15:13:24
D'autres questions similaires ont déjà été postées ici, et il semble le nom "id" ait une signification spéciale pour MySQL.
La solution consiste à préfixer id avec le nom de la table :
SELECT r1d.id ... FROM r1d...
Marsh Posté le 03-05-2006 à 15:33:14
Perso, je lis ça DATE_FORMAT(date,'%d-%m-%Y à %H:%i:%s') AS date et je me demande comment mysql ne crise pas, tu utilise comme nom d'alias un nom de champs qui est de plus un mot réservé
Marsh Posté le 03-05-2006 à 15:37:40
nom d'alias ?
pourquoi ca marche dans un autre cas avec le même SELECT ?
pour r1d.id, ca ne marche pas non plus. Ma requete est la suivante désormais :
Code :
|
Marsh Posté le 03-05-2006 à 15:45:08
Oui la requête est désormais celle-là. Content de l'apprendre.
Mais est-ce que cette nouvelle requête fonctionne ?
Tiens le id a disparu de la requête.
Donc c'est la date qui pose un problème ?
Choisir le mot "date" pour ces noms de variable est une autre prise de risque.
Ce mot "date" peut avoir une signification spéciale pour MySQL.
Pourquoi ne pas prendre des noms moins ordinaires et plus longs (date_du_truc), ou contenant des numéros (date1), ce qui permet d'éviter tous conflits éventuels avec des mots réservés ?
D'ailleurs, est-ce normal que le nom de l'alias soit "date" et que la colonne soit nommée "date" ?
Comment est-ce que MySQL va s'y retrouver dans toutes ces "date" ?
Peut-être qu'en essayant avec un alias différent du nom de la colonne, cela marcherait.
Marsh Posté le 03-05-2006 à 15:52:13
ca va tjrs pas avec cette requette comme tu me dis
Code :
|
et j'ai bien sur changé le nom de mon champ dans ma table qui s'appelle date_match mtnt
Marsh Posté le 03-05-2006 à 15:55:37
Bon, que reste-t-il à changer ?
Le format de la date ?
Ce n'est pas drôle quand on a un bug qui vous résiste, mais courage, la solution va bientôt venir.
Marsh Posté le 03-05-2006 à 16:05:51
oui, il n'y a plus "quà formater la date"...
je ne comprends pas pourquoi il n'affiche rien
Marsh Posté le 03-05-2006 à 16:06:57
je vais tout recommencer, en recréant tout, je vous dis si ca marche ou pas après
Marsh Posté le 03-05-2006 à 16:15:52
Voilà mon code ci dessous, et le résultat là ==> http://bcml.no-ip.org/Equipes/R1D/accueil1.php
Code :
|
Marsh Posté le 03-05-2006 à 16:29:38
Essaie :
DATE_FORMAT(`date`, '%d-%m-%Y à %H:%i:%s')
Marsh Posté le 06-05-2006 à 22:27:09
problème résolu...
Mon champ "match" posait problème. En le remplacant par "game", tout va bien
Marsh Posté le 07-05-2006 à 00:57:51
pour ce genre de bug où l'origine est aussi bete, il serait bon de tester la requete avec un bon phpMyadmin. Tu aurais eu de suite ce qui n'allait pas dans la requete.
Marsh Posté le 03-05-2006 à 14:08:33
Bonjour,
Voilà, j'ai un petit soucis avec une requête.
Le tableau avec les données de la table ne s'affiche pas!!
Bizarre, car avec un code +- similaire sur une autre page, ca fonctionne :
Pouvez vous m'aider ?