在PHP中将正则表达式保存到数据库

I want to regex value to mysql database using PHP:

Regex is added via php form:

/^(?:http:\/\/|https:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/;

it gets automatically converted to :

/^(?:http://|https://)?(?:www.)?(?:youtu.be/|youtube.com/(?:embed/|v/|watch?v=|watch?.+&v=))((w|-){11})(?:S+)?$/

Why it isn't same as what we have in database?

dongzen5577
dongzen5577 如果要将\输入到数据库中,则必须使用两个反斜杠\\,它将转换为文字\。因此,您可以将所有\\替换为\\\\(将所有文字\替换为文字\\)。此外,您似乎倾向于SQL注入,因此请确保防止这种情况,或者有人可以运行查询来销毁整个数据库而无需访问数据库
5 年多之前 回复
duandai7601
duandai7601 可能重复的MySQLPHPEscapeString'\'-为什么它没有用反斜杠保存在数据库中?
5 年多之前 回复
drazvzi741287
drazvzi741287 学习如何编写正确的查询,这样就不会被注入攻击所困扰。防止注入攻击的完全相同的技术将允许您的正则表达式正确进入数据库。
5 年多之前 回复
douzi4724
douzi4724 如果我想保存这个怎么办
5 年多之前 回复
doukunsan5553
doukunsan5553 可能是因为你很容易受到sql注入攻击。
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐