我在这个问题上挣了好几个小时。
我有一个很长的字符串。该值是base64_encoded json数据。 当我在做var_dump或将字符串保存到MySQL时,它会被切断。但它可以正确保存到文件中。
这是保存到文件的输出。 (正确) http://pastebin.com/Brr9a271
这是保存到MySQL blob字段的数据。 (板缺)。当我做var_dump时会出现相同的情况 http://pastebin.com/u1xNAnUb
我错过了什么?这可能是一个PHP错误吗?
答案 0 :(得分:3)
您的文件大约有86KiB,但BLOB列的最大长度为65,535 使用 MEDIUMBLOB 。
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
答案 1 :(得分:0)
答案 2 :(得分:0)
要存储 base64编码数据,请将 MYSQL 表格中的数据类型更改为 LONGTEXT 。
看看!!!
TINYTEXT - 255 bytes
TEXT - 65535 bytes
MEDIUMTEXT - 16,777,215 bytes (2^24 - 1)
LONGTEXT - 4G bytes (2^32 – 1)
TINYBLOB - 255 bytes
BLOB - 65535 bytes
MEDIUMBLOB - 16,777,215 bytes (2^24 - 1)
LONGBLOB - 4G bytes (2^32 – 1)