0

私はポルトガルの学生で、ゲーム管理用の 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`)
) 

データベースのボルブにファイルをアップロードする方法の 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 

誰かが私を助けてくれますか?
提案に感謝します。ありがとう :)

4

3 に答える 3

0
  1. の一般的な原因の 1 つMySQL server has gone awayは、タイムアウトが原因です。次のように増やしてみてくださいdefault_socket_timeout

    ini_set('default_socket_timeout', 300);
    
  2. もう 1 つは、ブロブのサイズです。でアップロード サイズの制限を増やしてみてくださいphp.ini

    post_max_size
    upload_max_filesize
    
于 2013-04-15T22:54:07.243 に答える
0

あなたの設定ファイルで

ホストを「localhost」から「127.0.0.1」に変更してみてください

于 2013-04-14T08:51:58.413 に答える