atw*_*pub 7 php mysql escaping
我应该如何在单引号中添加斜线并忽略双引号?我正在使用PHP.我只想逃避单引号,以防止我的php mysql查询中断.
谢谢!
编辑:我认为正则表达式搜索和替换将是最有帮助的.
Nin*_*nja 14
好吧,我真的很迟到这篇文章,但添加了这个答案,希望它可能有助于有人登陆这个问题.虽然@Weston C已经提供了一个正则表达式解决方案,但是有一个用于执行此操作的php函数 - addcslashes(http://php.net/manual/en/function.addcslashes.php):
string addcslashes ( string $str , string $charlist )
Returns a string with backslashes before characters that are listed in charlist parameter.
Run Code Online (Sandbox Code Playgroud)
好吧,preg_replace_all("/([^\])'/","$1\'",$yourStrHere)
会做你所要求的:
但...
Bill 关于使用 mysqli 或 PDO API 进行参数化查询的回答是非常非常好的建议。让你的数据库 API 处理这个问题比你自己处理更容易、更有效——编写这些 API 的人(以及在这些 API 的本机后端工作的人)可能投入了更多的时间和精力来解决安全性和问题。性能问题超出了我们大多数人希望花费的时间。