我在这个问题上苦苦挣扎了几个小时。
我有一个很长的字符串。该值为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/