致命错误:无法在写入上下文中使用函数返回值

时间:2012-05-16 10:10:22

标签: php

好的,我正在尝试从注射等清理我的代码。我收到了这个致命的错误:

致命错误:无法在....中写入上下文中使用函数返回值

以下是引发错误的行:

$val=mysql_real_escape_string($val)=$_SESSION['val']=strip_tags($_POST['val']);

为什么会抛出此错误?

更新:好的,谢谢你的答案,我将mysql_real_escape_string($val)移到了代码的另一部分,这解决了错误。

2 个答案:

答案 0 :(得分:6)

您正在为功能分配一个值(strip_tags的归档$_SESSION['val'])! 我想你想要这个:

$val=mysql_real_escape_string($_POST['val']);

关于在http参数上使用strip_tags看看这个:
http://www.php.net/manual/en/info.configuration.php#ini.magic-quotes-gpc

需要注意的另一件事是:

请停止使用古老的mysql_ *函数编写新代码。它们已不再维护,社区已经开始deprecation process。相反,您应该了解prepared statements并使用PDOMySQLi。如果您无法决定,this article将有助于选择。如果您想学习,here is a quite good PDO-related tutorial

答案 1 :(得分:2)

您只能为变量指定值。