Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何显示转义字符?_Php_Mysql - Fatal编程技术网

Php 如何显示转义字符?

Php 如何显示转义字符?,php,mysql,Php,Mysql,我觉得问这样一个新手问题很傻,我试着去搜索,但我能找到的只是说明如何逃跑的资料,这不是我要问的 我正在使用PDO向数据库添加内容。结果,东西逃走了。问题是,当我将这些内容显示回用户时,它的显示与数据库中的显示完全相同。换句话说,转义的单引号显示为左斜杠加单引号 我可以在所有转义字符序列上运行某种类型的find/replace,但我确信有一种“正确”的方法可以做到这一点。保持安全(或提高安全性)的方法使用斜杠 echo stripslashes($var); 使用斜杠 echo stripsla

我觉得问这样一个新手问题很傻,我试着去搜索,但我能找到的只是说明如何逃跑的资料,这不是我要问的

我正在使用PDO向数据库添加内容。结果,东西逃走了。问题是,当我将这些内容显示回用户时,它的显示与数据库中的显示完全相同。换句话说,转义的单引号显示为左斜杠加单引号

我可以在所有转义字符序列上运行某种类型的find/replace,但我确信有一种“正确”的方法可以做到这一点。保持安全(或提高安全性)的方法使用斜杠

echo stripslashes($var);
使用斜杠

echo stripslashes($var);

那么你做错了。SQL转义只是为了正确地插入数据库而不是破坏SQL语法,值以未转义的形式存储。值只需要在转换到数据库时转义,这些值永远不会被永久更改。尤其是PDO,你根本不需要逃跑


最有可能的是,你打开了魔法引号,这会导致双重逃避现实。请仔细阅读:那你做错了。SQL转义只是为了正确地插入数据库而不是破坏SQL语法,值以未转义的形式存储。值只需要在转换到数据库时转义,这些值永远不会被永久更改。尤其是PDO,你根本不需要逃跑


最有可能的是,你打开了魔法引号,这会导致双重逃避现实。请仔细阅读此内容:

最好先解决导致添加斜杠的问题。最好先解决导致添加斜杠的问题。我实际上没有做任何转义。我正在使用PDO为我做这件事。已启用传入get/post数据的魔法引号。不是我,是我的提供者。我现在把它关掉了。谢谢你的指点。我实际上并没有逃走。我正在使用PDO为我做这件事。已启用传入get/post数据的魔法引号。不是我,是我的提供者。我现在把它关掉了。谢谢你的指点。