【问题标题】:PDO escape serialised stringPDO 转义序列化字符串
【发布时间】:2014-03-18 10:18:02
【问题描述】:

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

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

unserialize(): Error at offset 105 of 1020

我试过说不要从 Word 粘贴哈哈,但是我想构建它以便即使它不是最好的方法也可以。

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

我想知道这是否可能。感谢您的努力。

【问题讨论】:

    标签: php database serialization pdo escaping


    【解决方案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'"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-29
      • 1970-01-01
      • 2019-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多