2012-12-15 28 views
0

我需要获得 “名” GET VAR:Symfony2中,在生产空GET变量

www.mydomain.com/?n=me 

这是我如何得到它:

$request = Request::createFromGlobals(); 
$name = $request->query->get('n'); 

它工作在我的本地服务器,但在生产服务器上,$ name var是空的。什么会造成这种情况?

编辑:

我在我的代码,又看了看我看见沿途某处使用mysql_real_escape_string()函数。实际上,这是这样完成的:

$request = Request::createFromGlobals(); 
$name = $request->query->get('n'); 
$safeName = mysql_real_escape_string($name); 

这导致$ safeName为空,$ name保存正确的值。所以真正的问题是为什么mysql_real_escape_string()将删除该值。

+0

所以,问题是你为什么要调用这个函数?你使用Doctrine来查询你的数据库吗?如果是的话,你不需要清理'$ name'。 [链接](http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/security.html) – cheesemacfly

+0

我使用这个函数,因为这是我以前一直这样做的。是的,我正在使用Doctrine。 – BigJ

+0

当你使用'$ name = $ request-> query-> get('n','bob');'? '$ name'是否设置为'bob'? –

回答