php中使用addslashes函数报错问题的解决方法
author:一佰互联 2019-04-30   click:156

大家看下面的代码,能发现错误在哪里吗?

复制代码 代码如下:
<?php
echo function_exists("addcslashes");//检测是否存在该函数
echo get_magic_quotes_gpc()."<br/>";//检测是否开启自动转义
echo PHP_VERSION."<br/>";//php版本信息
echo addcslashes("Who"s John Adams?");
echo "<br/>";
$str = "Who"s John Adams?";
echo addslashes($str);
?>

输出结果是否一样呢?
10
5.3.6
Warning: addcslashes() expects exactly 2 parameters, 1 given in /data/bookuu/test/class.php on line 50
Who"s John Adams?一个报错,另外一个正常输出。为什么呢?
addslashes 和addcslashes不是同一个函数,发现没有,只有一个字符的区别。
但是两个函数的功能都是一样的—转义字符串。
区别是啥?
addslashes只有一个参数-字符串
addcslashes需要两个参数,字符串,分隔符.
echo addcslashes("Who"s John Adams?",""");这样写就可以正常输出了。

希望能帮助大家理解addslashes的用法。addslashes的错误坑爹啊,给大家看一个代码,看看大家能发现错误不?
复制代码 代码如下:
echo function_exists("addcslashes");//检测是否存在该函数
echo get_magic_quotes_gpc()."<br/>";//检测是否开启自动转义
echo PHP_VERSION."<br/>";//php版本信息
echo addcslashes("Who"s John Adams?");
echo "<br/>";
$str = "Who"s John Adams?";
echo addslashes($str);

大家猜猜输出结果是不是一样的???A:一样 B:还是一样
我也是认为一样的但是,其实坑爹了!
10
5.3.6

Warning: addcslashes() expects exactly 2 parameters, 1 given in /data/bookuu/test/class.php on line 50

Who"s John Adams?

一个报错,另外一个正常输出。

为啥?
addslashes 和addcslashes不是同一个函数,发现没有,只有一个字符的区别。

但是两个函数的功能都是一样的—转义字符串。
区别是啥?
addslashes只有一个参数-字符串
addcslashes需要两个参数,字符串,分隔符.
echo addcslashes(“Who"s John Adams?”,”‘”);这样写就可以正常输出了。