mysql - 提交字符串中包含分号的数据库值?

标签 mysql sql database syntax phpmyadmin

我有一个标准输入框,它将值直接提交到数据库,但是在字符串中包含分号会搞乱数据库值。

(示例1)文本输入值:

<input type="text" id="security_check" value="a:1:{i:0;s:10:"1234567890";}">

数据库值结果:

security_check: s:28:"a:1:{i:0;s:10:"1234567890";}";

您会注意到它在和“之前添加了 s:28:";之后

当我将值括在括号中时,它看起来很好,但随后 DB 值包含括号,这不起作用,因为它需要精确。

(示例2)文本输入值:

<input type="text" id="security_check" value="[a:1:{i:0;s:10:"1234567890";}]">

数据库值结果:

security_check: [a:1:{i:0;s:10:"1234567890";}]

有没有办法可以在提交之前格式化输入值,以便它出现在包含分号的数据库中,与最初编写的完全一样?

最佳答案

您是否使用准备好的语句或动态构建查询并执行它?如果您不使用准备好的语句,则可能会遇到此类问题,并且准备好的语句即使不能消除 SQL 注入(inject)攻击的可能性,也会减少这种可能性。

关于mysql - 提交字符串中包含分号的数据库值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54520842/

相关文章:

javascript - 无法在选择选项中显示查询结果

Php on zend,如何为查询转义变量?

mysql - 将数据库数据从express.js服务器传递到react.js组件

SQL 日期范围拆分

php - 为 CRUD 操作创建历史表的最佳方式

php - 如何使用右连接与 MYSQL 案例获取两列的数据

mysql - 我如何确定这是哪种类型的数据库?

mysql docker 中的 mysqladmin ?

html - 将 SQL 查询结果表转换为用于电子邮件的 HTML 表

sql - postgresql - 使用命令导出选择查询结果