JeuWeb - Crée ton jeu par navigateur
[Résolu] Stockage nombre entier base MYSQL - 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] Stockage nombre entier base MYSQL (/showthread.php?tid=3807)

Pages : 1 2


RE: [Résolu] Stockage nombre entier base MYSQL - wild-D - 16-03-2009

+1allwise

je pige pas tu "sécurise" ta donnée $_GET avec intval(); par contre de l'autre coté celle qui provient de ta bdd tu considère qu'elle est blanche comme neige et tu ne la "sécurise" pas ^^
c'est pas très cohérent alors que tu prétends vouloir tester une égalité stricte pour "une question de sécurisation poussée à l'extrême".

je vois pas comment en castant une chaine contenant un entier sur un int d'un coté mais en ne faisant pas pareil avec son homologue bdd tu peux considérer que tes variables sont au même niveau de sécurité/qualité. (la bdd est certes une source plus propre/sûr en général que les variables provenant de l'utilisateur, mais ça ne dispense pas totalement de devoir aussi au besoin nettoyer ce qui provient de ta bdd).


RE: [Résolu] Stockage nombre entier base MYSQL - tog84 - 16-03-2009

En fait, les données contenues dans ma BDD sont fixes, elles ne seront pas mises à jour par un joueur.
Mais malgré cela, faut-il sécuriser les retour de BDD surtout quand c'est des nombres même quand ils ne sont pas mis à jour ?

Ce que j'arrive pas à comprendre c'est pourquoi, malgré une structure de table en int, le contenu du champ reste un type string.


RE: [Résolu] Stockage nombre entier base MYSQL - Sephi-Chan - 16-03-2009

Comme je disais, faîtes comme vous voulez. Dans ce cas précis, je trouve inutile de caster en entier la variable $result->id_terrain. On sait très bien que ce sera numérique.

Je ne compte pas poursuivre ce débat, surtout que j'ai déjà donné ma position dans d'autres sujets. Je parle de cas suffisamment précis où on peut favoriser la comparaison large au profit de la lisbilité.


Sephi-Chan


RE: [Résolu] Stockage nombre entier base MYSQL - wild-D - 16-03-2009

^^ les retour de bdd sont des chaines de caractère comme pour tes retours de champs de formulaire ou tu reçois que des chaines de caractères.
Vu que PHP ne travaille pas avec des variables frotement typées et fait lui même les conversions de type nécessaire si t'additionnes des chaines de caractères contenant des nombres; ou inversement si tu concatène des var contenant des nombres; ça ne pose pas vraiment de problème.

par contre si tu souhaite faire des comparaisons stricte; là le type de la données et pris en compte; tu peux plus t'amuser à laisser tes données provenant de ta base de donnée (ou d'une autre source) avoir un type "au petit bonheur". (à parti si c'est le résultat de ce petit bonheur qui t'intéresse)

après s'amuser à faire un cast de tout les entiers que tu obtiens de la bdd pour assurer que tes comparaisons strictes seront cohérentes, ou alors te contenter de comparaison standart c'est toi qui voit.

(edit: franchement dans le cas présent si ta donnée $_GET n'est vraiment utilisée que pour cette comparaison; et que la valeur en bdd est fixe; t'as même pas besoin du intval(); tu peux carrément te prendre une comparaison standard voir mieux stricte de tes 2 données)


RE: [Résolu] Stockage nombre entier base MYSQL - tog84 - 16-03-2009

Wahou !
Merci encore pour tous vos réponses même si j'ai l'impression d'une pointe de sarcasmes.
Mais no problemo Big Grin
Cordialement