Tom's Guide > Forum > Programmation > Probleme WHERE clause MYSQL

Probleme WHERE clause MYSQL

Forum Programmation : Probleme WHERE clause MYSQL

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Voici mon petit bout de code :

Code :
  1. $lnk = mysql_connect($server, $user, $pass);
  2. mysql_select_db($base);
  3. if (!isset($_GET['k']) || $_GET['k'] == "" ) die ("Aucune clé de spécifiée" );
  4. $key = $_GET['k'];
  5. $sql = "SELECT * FROM loc_reservation WHERE md5_checksum='".$key."'";
  6. echo $sql; // affichage de la requête pour contrôle
  7. $res = mysql_query($sql) or die (mysql_error());
  8. if (mysql_num_rows($res) != 1) die (" Erreur la clé est invalide ou dupliquée :".$_GET['k']);



Ce petit bout de code est donc sensé chercher dans la base de donnée la ligne ou la clé et le md5 sont les mêmes...

or sur il me renvoit :
Unknown column 'e886e6e27e9c0d534e2f187d372410e8' in 'where clause'

je reste perplexe devant ceci je l'avoue...car cette requête marche très bien sur mon serveur local (easyphp 3) et la requête fonctionne à 100% directement dans phpmyadmin...mais pas sur la page en question...si vous avez des idée la dessus, j'ai déjà testé avec et sans les quote en passant par LIKE au lieu de = bref j'ai épuisé mes connaissances la...

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Quel est la version Mysql de ton easyphp et celle de ton hébergeur ? (quel est t'il si pas indiscret ?)

Et si tu renome ton champ autrement que part md5_checksum pour un test, meme résultat ?
md5_checksum ne serait pas par hasard, une fonction mysql qui, justement, suivant les version de celui-ci rentrerait en conflit ?

quel est le type de ton champ md5_checksum ?

Répondre à okinou

j'ai mysql 5.1 sur mon local et 5.0 sur 1and1 (c'est merdique m'ais c pas moi qui est choisi, et dès le premier upload j'aurais changer en voyant les erreur s'affiché alors que mon easyphp est reglé pour etre strict )

EDIT : mon champ md5_checksum est un VARCHAR(32) (normal pour un md5)

EDIT 2 : J'ai changer le nom de la colonne, toujours la même erreur, a savoir qu'il me prend la valeur a chercher pour le nom de colonne...

J'ai regarder pour trouver une fonction ou un mot réservé sans succès pour mysql je vais donc essayer le dernier recours...a savoir modifié le champ... (je trouve curieux que ma requête ne fonctionne pas quand même...y'a aucune erreur de syntaxe là...)


Message édité par smasherhell le 16-03-2009 à 09:41:28
Répondre à smasherhell

Code :
  1. $sql = "SELECT * FROM `loc_reservation` WHERE `md5_checksum`='".$key."'";



Voilà la réponse qui a fonctionné, je ne sais pas pourquoi cette requête ainsi que toute celles de cette page spécifiquement était sensible, si les autres pages, les requête ne sont pas aussi strict...

Répondre à smasherhell
Tom's Guide > Forum > Programmation > Probleme WHERE clause MYSQL
Aller à :

Il y a 401 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens