Re: The 'at' sign (@) variable prefix

From: Date: Tue, 07 Oct 2008 01:16:06 +0000
Subject: Re: The 'at' sign (@) variable prefix
References: 1 2 3  Groups: php.general 
Request: Send a blank email to php-general+get-281515@lists.php.net to get a copy of this message
mike schreef: > Mon, Oct 6, 2008 at 12:17 PM, Daniel Brown <parasane@gmail.com> wrote: > >>> I will get an error, but if I prefix the value with '@', >>> >>> $query=@$_GET["q"]; >> The @ is an error control operator, used to buffer the output and >> store it in a variable - $php_errormsg. > >> It's better to write clean, secure code, of course.... but >> sometimes error control is a good thing, too. > > why not just use: > $query = isset($_GET['q']) ? $_GET['q'] : ''; > > that way it's always set. > > or even better (what I recommend): > $query = filter_input(INPUT_GET, 'q', FILTER_SANITIZE_STRING); > > and get an empty string or a sanitized string, depending on if something exists. > Mike's ways are both better than suppressing the error not only because error suppression in general sucks but because it's actually less performant to trigger this kind of error.

« previous php.general (#281515) next »