使用空格获取变量 - 它们可以工作,但它是正确的还是正确的?

Dav*_*ave 15 php variables

我有一个PHP页面,我通过"城市"URL/GET变量传递城市名称.目前,即使它有空格(例如.php?city=New York),它也会传递实际的城市名称.然后我接受$ city GET变量并对cities.name运行MySQL查询.

这很好用 - 但我一直都认为任何变量,URL/GET或其他变量都不应该有空格.我不仅能够替换带有下划线的空间,还是删除它们,并将它们放回来进行查询......等等 - 但我想我先问一下,如果空间完全没问题,那就是只是我的迷信告诉我.

ale*_*lex 22

空间很好,通常用+.编码.

为了更加安全,urlencode()如果手动将它们添加到GET参数中,请使用您的值.

echo urlencode('New York'); // New+York
Run Code Online (Sandbox Code Playgroud)

CodePad.

否则,如果您的表单提交为GET参数,请保持原样:)

然后我接受$ city GET变量并对cities.name运行MySQL查询.

确保使用合适的数据库转义机制以防止SQL注入.

  • @Dave你可以使用[`urldecode()`](http://php.net/manual/en/function.urldecode.php). (3认同)