我是一名葡萄牙学生,我正在尝试实现一个用于游戏管理的 Web 应用程序。
表结构game
`game` (
`idGame` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(75) NOT NULL,
`primaryScreen` blob NOT NULL,
`game_content` blob NOT NULL,
`category` varchar(45) NOT NULL,
`platform` varchar(45) NOT NULL,
`device` varchar(45) NOT NULL,
`description` varchar(250) NOT NULL,
`funcionalities` varchar(150) NOT NULL,
PRIMARY KEY (`idGame`)
)
`screen` (
`idScreen` int(11) NOT NULL AUTO_INCREMENT,
`id_Game` int(11) NOT NULL,
`image` longblob NOT NULL,
PRIMARY KEY (`idScreen`),
KEY `id_Game` (`id_Game`)
)
我已经阅读了关于如何将文件上传到数据库中的 bolb 的 yii 教程 http://www.yiiframework.com/wiki/95/saving-files-to-a-blob-field-in-the-database
唯一的区别是在保存之前的函数中我只想保留文件的内容(我可以这样做还是必须保留文件名,文件扩展名......)所以我在模型中这样做:
public function beforeSave()
{
if($file=CUploadedFile::getInstance($this,'game_uploaded'))
{
// $this->file_name=$file->name;
//$this->file_type=$file->type;
//$this->file_size=$file->size;
$this->game_content=file_get_contents($file->tempName);
//$file->saveAs('path/to/uploads');
}
if($file=CUploadedFile::getInstance($this,'primscreen'))
{
//$this->file_name=$file->name;
//$this->file_type=$file->type;
//$this->file_size=$file->size;
$this->primaryScreen=file_get_contents($file->tempName);
//$file->saveAs('path/to/uploads');
}
return parent::beforeSave();
}
但是当我尝试时出现此错误:
PDOStatement::execute(): MySQL server has gone away
有人可以帮我吗?
我感谢任何建议。谢谢 :)