【发布时间】:2021-03-25 06:30:07
【问题描述】:
我有一个带有 blob 字段的 Firebird 数据库,用于 base64 格式的图片。如果我尝试上传大小超过 32kb 的编码图片,则会出现异常:
org.firebirdsql.jdbc.FBSQLException:GDS 异常。 335544569. 动态 SQL 错误 SQL 错误代码 = -104 未找到代码 336397331 的消息。
这意味着 X 字节的字符串文字超过了 Y 字节的最大长度。 Firebird 的 blob 真的那么小吗?例如,我需要为 mySQL 更改数据库吗?我既没有时间也没有 php 知识来为图片创建后端 api。
【问题讨论】:
-
Blob 可以是任意长度,但 Blob 不是字符串文字。您听起来像是使用脆弱的字符串拼接(您无法确定日期/时间/浮点数等数据类型表示)和危险(注入)。这是不正常的。使用参数。 bobby-tables.com/php
-
另外,为什么要将图片膨胀成大的base64数据?只需按原样存储它们,二进制。