报错信息:
Deprecated: Function get_magic_quotes_gpc() is deprecated in D:\phpstudy_pro\WWW\im\app\common\checkData.php on line 52
报错代码如下:
if (!get_magic_quotes_gpc()) { // 判断magic_quotes_gpc是否为打开
$post = addslashes($post); // 进行magic_quotes_gpc没有打开的情况对提交数据的过滤
}
报错原因:
PHP7.4不推荐使用get_magic_quotes_gpc
函数替代(PHP 7.4 deprecated get_magic_quotes_gpc function alternative)。
解决办法:
在程序入口位置或者报错文件开头添加如下代码:
define('MAGIC_QUOTES_GPC',ini_set("magic_quotes_runtime",0)?True:False);
或者切换php到7.3版本,这个报错自然也就没有了。
拓展:
magic_quotes_gpc函数在php中的作用是判断解析用户提示的数据,如包括有:post、get、cookie过来的数据增加转义字符“ ”,以确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误。
始终返回 FALSE,因为这个魔术引号功能已经从 PHP 中移除了。
下面给出一个兼容各个php版本的示例:
<?php
// 如果启用了魔术引号
echo $_POST['lastname']; // O\'reilly
echo addslashes($_POST['lastname']); // O\\\'reilly
// 适用各个 PHP 版本的用法
if (get_magic_quotes_gpc()) {
$lastname = stripslashes($_POST['lastname']);
}
else {
$lastname = $_POST['lastname'];
}
// 如果使用 MySQL
$lastname = mysql_real_escape_string($lastname);
echo $lastname; // O\'reilly
$sql = "INSERT INTO lastnames (lastname) VALUES ('$lastname')";
?>
出处:www.l1mn.com
原文标题:php7报错Deprecated: Function get_magic_quotes_gpc() is deprecated问题解决
原文地址:https://www.l1mn.com/p/s24q1.html
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
Copyright © L1MN.COM 联系方式:l1mnfw@163.com