Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.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 我想转义所有可能的字符,而不仅仅是mysqli\u real\u escape\u字符串中预定义的字符_Php_Mysqli - Fatal编程技术网

Php 我想转义所有可能的字符,而不仅仅是mysqli\u real\u escape\u字符串中预定义的字符

Php 我想转义所有可能的字符,而不仅仅是mysqli\u real\u escape\u字符串中预定义的字符,php,mysqli,Php,Mysqli,我目前正在使用mysqli\u real\u escape\u字符串。它工作正常,但我想知道是否有更广泛的函数,它将转义比预定义的字符(如“,”,\r等)更多的字符。您应该根据数据的上下文处理数据 因此,当您将其放入mysql数据库时,您希望对其进行处理,使其不会干扰内部进程 当你想在浏览器中输出数据时,你要处理它,这样它就不能以一种非预期的方式进行处理。通过“随机”地逃避一切,你就是在扭曲数据 但是如果你真的想…我想你可以使用,或者构建你自己的“转义”函数。你只需要定义那些你想转义的字符(然后

我目前正在使用mysqli\u real\u escape\u字符串。它工作正常,但我想知道是否有更广泛的函数,它将转义比预定义的字符(如“,”,\r等)更多的字符。

您应该根据数据的上下文处理数据

因此,当您将其放入mysql数据库时,您希望对其进行处理,使其不会干扰内部进程

当你想在浏览器中输出数据时,你要处理它,这样它就不能以一种非预期的方式进行处理。通过“随机”地逃避一切,你就是在扭曲数据

但是如果你真的想…我想你可以使用,或者构建你自己的“转义”函数。你只需要定义那些你想转义的字符(然后搜索并用“\”+字符替换它们,如果是preg\ u-和str\ u replace)


如果您不想转义所有数据,而是想将字符串正确地输入数据库,那么您可能只想使用准备好的语句。它们的工作方式与普通查询略有不同,因此不必以特定的方式处理值。

我尝试了addslashes()也是,但它几乎与mysqli_real_escape_string()相同。为什么不使用,每个字符都可以转义,但要基于您所说的内容(用单引号插入该字符串),这不是您想要的。使用真正的_escape_字符串将正确转义。那么您的实际问题是什么?请注意,这是对OP的评论的响应,该评论随后被删除。