我正在编写一个BIG脚本。
每次在数据库中添加内容时,它都会应用addslashes();
问题是,在从数据库中选择数据时,它没有执行stripslashes();
此脚本使用基本的mysql驱动程序。我不能编辑脚本中的任何SELECT,因为它们很多,而且它们不是集中在一个脚本中,而是放在整个脚本中。
我可能需要很长时间才能去掉每个SELECT上的斜杠。所以我想知道是否有一种方法可以截取每个SELECT并去掉其中的斜杠。
我看了一下http://us3.php.net/override_function,但我不确定它是否有用。
发布于 2013-10-24 19:45:28
每次在数据库中添加一些内容时,它都会应用addslashes();
你这样做是错误的。您应该使用正确的转义方法。addslashes()不正确。例如,对于mysql,它将是mysql_real_escape_string() (或mysqli_....)。
的问题是,在从数据库中选择数据时,它没有执行stripslashes();
当然它不能做到这一点。对于DB来说,这样做是没有意义的,所以一切都很好。
我可能需要很长时间才能去掉每个SELECT上的斜杠。
这都是因为你做错了。如果您正确地转义了特殊值(而不是整个查询),那么在阅读过程中就不需要麻烦了。我有一种感觉,你不明白为什么你首先需要逃离,你试图解决不知道自己在做什么的问题。还要注意一些DB助手,比如PDO处理自动转义,所以你甚至不需要麻烦。
https://stackoverflow.com/questions/19564619
复制相似问题