PDO转义序列化字符串

时间:2014-02-18 15:01:53

标签: php database serialization pdo escaping

在将数据库插入数据库之前,是否可以使用PDO转义序列化字符串?

我已经构建了一个来自WYSIWYG编辑器的内容将被序列化的东西。如果有人将Word中的文本粘贴到编辑器并保存,我将收到以下错误,因为添加了多个样式标记:

unserialize(): Error at offset 105 of 1020

我试过说不要粘贴Word哈哈,但是我想建立它以便它甚至可能不是最好的方法。

我找到了PDO功能引用,但我不确定这是否是我正在寻找的。 除了这个功能,我找不到任何其他解决方案。我已经在使用PDO准备好的语句了。

我想知道是否有可能。谢谢你的努力。

1 个答案:

答案 0 :(得分:1)

我认为它与编码有关。

你应该在保存之前做base64_encode,在它之后做base64_decode。正如here所写:

$toDatabse = base64_encode(serialize($data));  // Save to database
$fromDatabase = unserialize(base64_decode($data)); //Getting Save Format 

此外,为了避免在连接到数据库时出现编码问题,请执行以下SQL请求:

"SET NAMES 'utf8'"