我在PHP7.4.3上出现了一个弃用错误

我在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。我

我是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。我查看了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(我的账户附在问题后面,因为我编辑了它)。