php - Base64 编码的字符串错误地保存到 MySQL

标签 php mysql string

我在这个问题上苦苦挣扎了几个小时。

我有一个很长的字符串。该值为base64_encoded json数据。 当我执行 var_dump 或将字符串保存到 MySQL 时,它会被切断。但它正确保存到文件。

这是保存到文件的输出。 (正确的) http://pastebin.com/Brr9a271

这是保存到 MySQL blob 字段的数据。 (剪切)。当我执行 var_dump 时也会出现同样的情况 http://pastebin.com/u1xNAnUb

我错过了什么?这可能是 PHP 错误吗?

最佳答案

您的文件大约有 86KiB,但 BLOB 列的最大长度为 65,535。
使用MEDIUMBLOB

来自documentation :

      Type | Maximum length
-----------+-------------------------------------
  TINYBLOB |           255 (2 8−1) bytes
      BLOB |        65,535 (216−1) bytes = 64 KiB
MEDIUMBLOB |    16,777,215 (224−1) bytes = 16 MiB
  LONGBLOB | 4,294,967,295 (232−1) bytes =  4 GiB

关于php - Base64 编码的字符串错误地保存到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16543060/

相关文章:

javascript - Google reCAPTCHA 在引导模型上第二次失败

php - 碳日期时间小时比较

javascript - 使用 jQuery 从数据库访问对象

C# 控制台应用程序点效果

php - 如何使用 cron 作业安排动态功能?

php - 如何在 PHP 中构建具有多个参数的 WHERE 子句

javascript - Sails.js 对关联值的查询

mysql - Yii - CActive 记录 - 如何解决服务器查询缓存

python - 在特定扩展名的文件中搜索字符串后提取文件夹名称

java - 有没有办法从字符串遍历到 int 数组,反之亦然