20-11-2008, 10:11 PM
Dans ce cas, plutôt que d'utiliser intval, n'est-il pas encore plus simple de faire un transtypage (cast) ? Par exemple :
Code PHP :
<?php
'SELECT * FROM table WHERE id = ' . (int) $id
Dans tous les cas, ce n'est pas une approche que je cautionne car à mon sens, une application doit s'arrêter lors d'un cas particulier.
A mon sens, si l'identifiant attendu n'est pas valide (à savoir un entier positif), l'application doit renvoyer une exception, et ne surtout pas utiliser une donnée que l'on ne maîtrise pas. Dans l'exemple, ça donne lieu à une requête SQL inutile (du gâchis, donc).
C'est également ce que nous a enseigné notre professeur de C l'an dernier. Et c'est le genre de personne qui a derrière lui une longue et impressionnante carrière, je lui fais donc confiance.
Sephi-Chan