[Résolu] Requête SQL au comportement bizarre - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : [Résolu] Requête SQL au comportement bizarre (/showthread.php?tid=721) |
[Résolu] Requête SQL au comportement bizarre - Stargate63 - 01-07-2008 Salut à tous Je vais donc attaquer directement dans le vif du sujet : Pour mon jeu, je souhaite récuperer des données dans ma table, donc la valeur du champ "x" est comprise entre xmax et xmin (deux variables). Voici donc ma requête actuelle : Code PHP :
Cette requête est suivie d'un while, qui liste les vaisseaux. Mon problème est que cette requête se comporte bizarrement : Lorsque je remplace $xmax et $xmin par des nombres, cela fonctionne. Lorsque j'insert ces variables dans ma requêtes, ben plus rien ne s'affiche. J'ai essayé plusieurs choses : des ' ' autour des variables, mettre les variables sous la forme ' " . $xmax . " ' , mettre des ' ' autour du nom du champ. Voilà, j'espère que vous pourrez m'aider, Amicalement, Quentin. RE: Requête SQL au comportement bizarre - Flag62 - 01-07-2008 Citation :la valeur du champ "x" est comprisex c'est pas un champ c'est une colonne de ta table, enfin c'est peut être juste une histoire de vocabulaire... Pense à mettre ton AND en majuscule (c'est une question de lisibilité) Normalement le '$xmax' ou le ' ".$xmax." ' devrait marcher. Vérifie que tes variables $xmax et $xmin sont bien remplies avant ta requête (un petit echo $xmax $xmin...) RE: Requête SQL au comportement bizarre - Stargate63 - 02-07-2008 Pour le x, c'est pas faux, mais ce n'est qu'un problème de vocabulaire Je met les AND en majuscule d'habitude, je vois pas pourquoi en recopiant ma requête, j'ai mis ça en minuscule. Non, le '$xmax' et ' ".$xmax." ' ne fonctionne pas. J'ai bien fait un echo, mes variables sont remplies. Merci de ton aide RE: Requête SQL au comportement bizarre - Kassak - 02-07-2008 Mhhh, peut être je vais dire nawak, mais quand tu recherches un chiffre dnas un intervalle, tu fais surement par exemple entre 1 et 5 ou 2 et 50, mais je pense pas que tu fasses entre 50 et 2 Essaye d'inverser '$xmax' et '$xmin', et rajoute des ' autour RE: Requête SQL au comportement bizarre - Ruz - 02-07-2008 et protéger les noms de colonnes et table avec des `` sinon, un "die(mysql_error().'<br />requête : '.$req)" peut aider aussi... tu vois la requete envoyée... (a virer quand le jeu est en ligne ^^) évidemment, faut changer ton appel... un truc du genre: $req='SELECT * FROM `flottes` WHERE `x` BETWEEN '.$xmin.' AND '.$xmax.' ORDER BY `x` DESC'; $res=mysql_query($req) or die (mysql_error().'<br />requête : '.$req); ca aide vachement, ces petits trucs ^^ RE: Requête SQL au comportement bizarre - keke - 02-07-2008 je penche pour la simple inversion entre Xmin et Xmax dans ta requête ... Kéké. PS : Si ça se confirme, on pourrait dire que mysql c'est pas très évolué tout de même ... RE: Requête SQL au comportement bizarre - Stargate63 - 02-07-2008 Merci pour tous vos conseils, l'inversion des deux variables dans la requête fonctionne parfaitemment C'est vrai que si j'avais été un peu plus logique sur ce coup, j'aurrais remarqué que chercher des nombres dans un intervalle de, par exemple, [50;2] était mois logique que dans l'intervalle [2:50]. Merci aussi à Ruz, je conaissais pas l'affichage de la requête sur la page, c'est une bonne idée Bref, re merci encore ! Quentin. RE: Requête SQL au comportement bizarre - Kassak - 02-07-2008 Citation :PS : Si ça se confirme, on pourrait dire que mysql c'est pas très évolué tout de même ... Bon c'est confirmé alors xD (Stargate63, edit ton 1er post et met un ptit [réglé] dans ton titre ) |