php中使用addslashes函数报错问题的解决方法

yipeiwu_com7年前PHP代码库

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

复制代码 代码如下:

<?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?”,”‘”);这样写就可以正常输出了。

相关文章

PHP 木马攻击防御技巧

1、防止跳出web目录 首先修改httpd.conf,如果你只允许你的php脚本程序在web目录里操作,还可以修改httpd.conf文件限制php的操作路径。比如你的web目录是/us...

PHP 引用是个坏习惯

复制代码 代码如下: function binsearch(&$arr, $key, $value) { $low = 0; $high = count($arr); while ($l...

PHP中类型转换 ,常量,系统常量,魔术常量的详解

PHP中类型转换 ,常量,系统常量,魔术常量的详解 1.自动类型转换; 在运算和判断时,会进行自动类型转换; 1)其他类型转为bool,判断时转换; 1)整型转布尔型:0转fal...

使用GDB调试PHP代码,解决PHP代码死循环问题

最近在帮同事解决Swoole Server问题时,发现有1个worker进程一直处于R的状态,而且CPU耗时非常高。初步断定是PHP代码中发生死循环。 下面通过一段代码展示如何解决PHP...

在任意字符集下正常显示网页的方法一

转:coolcode.cn通常情况下,我们的网页要指定一个编码字符集,如 GB2312、UTF-8、ISO-8859-1 等,这样我们就可以在网页上显示我们指定编码的...