我将其他用户信息存储在我的数据库中的Doctrine2数组中。我当前的用户数量正在快速增长,其中一些人设法将损坏的值输入数据库(我通过FOSRestBundle使用Rest API)。
e.g:
a:7:{s:8:“top_team”; s:18:“拜仁 慕尼黑 “; S:10:” top_player “; S:5:” Eidax “; S:9:” flop_team “; S:4:” 1860 “; S:7:” one_day “; S:13:” 的Onkel 查理 “; S:8:” 电梯 “; S:4:”
如您所见,序列化数组会提前结束。我不知道我的用户如何将这些东西放入数据库但是它发生了。有没有人知道一个特殊字符或什么东西打破了doctrine2的序列化/反序列化?
我已经尝试过我的键盘可以找到的所有特殊字符,但无法破解它。
答案 0 :(得分:0)
如果您有数据类型"字符串"在数据库中。将类型更改为" text"。
/**
* @ORM\Column(type="text", nullable=true)
*/
protected $xxx;