好的,我正在尝试从注射等清理我的代码。我收到了这个致命的错误:
致命错误:无法在....中写入上下文中使用函数返回值
以下是引发错误的行:
$val=mysql_real_escape_string($val)=$_SESSION['val']=strip_tags($_POST['val']);
为什么会抛出此错误?
更新:好的,谢谢你的答案,我将mysql_real_escape_string($val)
移到了代码的另一部分,这解决了错误。
答案 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并使用PDO或MySQLi。如果您无法决定,this article将有助于选择。如果您想学习,here is a quite good PDO-related tutorial。
答案 1 :(得分:2)
您只能为变量指定值。