您好,谢谢。
我正在从数据库中检索数据。将数据添加到数据库时,数据已经通过mysql_real_escape_string
。
检索后,我会将其与原始变量进行比较,然后根据结果,我可能会将原始数据库数据重新插入数据库中的另一个字段中。
我的问题是,我是否必须对从数据库获得的数据使用mysql_real_escape_string
?
我认为是的,因为数据可能包含需要转义的字符,并且我认为反斜杠未存储在数据库中。
我的代码是:
if(isset($row['location_uri']) && $row['location_uri'] != $location_uri)
{
$session_previous_page = $row['previous_page_uri'];
}
else
{
$session_previous_page = $row['location_uri'];
}
另外,在将数据库数据与原始数据进行比较(例如来自
$_SERVER['REQUEST_URI']
的数据)之前,我应该对数据库数据做任何事情吗?谢谢你提供的所有帮助。
最佳答案
您应该重新应用它。转义函数使用斜杠等,因此它是有效的SQL语法。这些斜杠实际上没有存储在数据库中。