0

我对 PHP 和 MySql 还很陌生,我认为我的数据库中有一个 LongBlob 列有问题。整个错误在这里

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[01004]: String data, right truncated' in Client.php:110 Stack trace: #0 Client.php(110): Client::FindByOwnerID() #1 User.php(91): Client->FindByOwnerID('2') #2 UserController.php(26): User->FindByID('2') #3 {main} thrown in Client.php on line 110

如果我将图像上传到 LongBlob 列,我似乎只会收到此错误。如果我删除带有图像的行,一切都会很好。

我正在使用 PDO 连接到我的数据库,我已经搜索了一个解决方案,但只发现了类似的问题,似乎没有提到任何关于图像的内容......

这是 SQL 配置问题,我是否缺少 PDO 属性?

这是我的 PDO 代码

$dbConnString = "mysql:host=" . DB_SERVER . ";port=".DB_PORT."; dbname=" . DB_DATABASE;
$this->dbConnection = new PDO($dbConnString, DB_USERNAME, DB_PASSWORD);        
$this->dbConnection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$this->dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);   
4

1 回答 1

0

我个人不喜欢将图像存储在数据库中,但如果您需要:检查图像大小,如果它超过 1MB,则必须增加服务器配置文件中的 max_allowed_pa​​cket 选项。您可以在网络页面上 MySQL 管理员的启动变量部分中更改它。

检查此链接

http://dev.mysql.com/doc/refman/5.0/en/program-variables.html

于 2013-05-08T17:20:31.743 回答