Hallo,
Kann der Ausdruck:
$sql = sprintf('SELECT feldliste FROM tabelle WHERE feld=%s', intval($zahl));
> für integer Werte durch:
> ~~~
> $sql = sprintf('SELECT feldliste FROM tabelle WHERE feld=%d', $zahl);
>
vereinfacht werden.
Du hast prinzipiell Recht. Aber: Auf Tastaturen hierzulande sind 's' und 'd' so dicht nebeneinander, dass es leicht fällt, da mal einen Fehler zu machen, der dann zu einer Lücke wird. Wenn man sich dagegen angewöhnt, explizit intval() zu nutzen, ist man vor einem derartigen Fehler geschützt. Zudem sieht man beim Drüberlesen schneller, dass der Code an der Stelle sicher ist.
Anders ausgedrückt: Ich würde %d ohne intval() niemandem ankreiden, aber wenn ich etwas empfehlen soll, dann besser %s oder %d (wäre in dem Fall egal) mit inval().
Viele Grüße,
Christian
--
Mein "Weblog" [RSS]
Using XSLT to create JSON output (Saxon-B 9.0 for Java)
»I don't believe you can call yourself a web developer until you've built an app that uses hyperlinks for deletion and have all your data deleted by a search bot.«
-- Kommentar bei TDWTF
Mein "Weblog" [RSS]
Using XSLT to create JSON output (Saxon-B 9.0 for Java)
»I don't believe you can call yourself a web developer until you've built an app that uses hyperlinks for deletion and have all your data deleted by a search bot.«
-- Kommentar bei TDWTF