我在PHP7.4.3上出现了一个弃用错误
我是php的初学者。我正在运行《使用jQuery学习PHP、MySQL和JavaScript》一书中的最后一章项目Robin's Nest 在文件function.php中,函数我在PHP7.4.3上出现了一个弃用错误,php,deprecation-warning,php-7.4,Php,Deprecation Warning,Php 7.4,我是php的初学者。我正在运行《使用jQuery学习PHP、MySQL和JavaScript》一书中的最后一章项目Robin's Nest 在文件function.php中,函数sanitizeString引发以下弃用错误: 不推荐使用:函数get\u magic\u quotes\u gpc()在第42行的C:\xampp2\htdocs\MyProjects\robinset\functions.php中不推荐使用 我的php版本是7.4.3,在Windows10操作系统上使用Xampp。我
sanitizeString
引发以下弃用错误:
不推荐使用:函数get\u magic\u quotes\u gpc()在第42行的C:\xampp2\htdocs\MyProjects\robinset\functions.php中不推荐使用
我的php版本是7.4.3,在Windows10操作系统上使用Xampp。我查看了PHP手册中的函数,发现从PHP7.4.0开始,该函数已被弃用
如何修改此函数,使其不使用不推荐使用的函数get\u magic\u quotes\u gpc()
,并且在没有替换函数的情况下仍然获得等效功能
function sanitizeString($var)
{
global $connection;
$var = strip_tags($var);
$var = htmlentities($var);
if (get_magic_quotes_gpc())
$var = stripslashes($var);
return $connection->real_escape_string($var);
}
只需去掉使用该函数的代码。它与许多版本都不相关
function sanitizeString($var)
{
global $connection;
$var = strip_tags($var);
$var = htmlentities($var);
return $connection->real_escape_string($var);
}
请注意,这种消毒措施一开始并不合适
htmlentities()
只应在网页上显示数据时使用,而不是在处理输入时使用。和$connection->real\u escape\u string()
只应在将变量替换为SQL字符串时使用,但最好使用准备好的语句。只需去掉整个if
语句。这是否回答了您的问题?使用准备好的语句而不是字符串转义-字符串转义会遗漏某些情况,并可能导致安全漏洞。@halfer,当您在localhost中运行Robin's Nest thing时?很慢吗?@deanstreet:我想你是想问这个问题的作者Rilwan Smith(我的账户附在问题后面,因为我编辑了它)。