簡體   English   中英

CakePHP無法將文件保存到數據庫-“字段列表”中的未知列“ Array”

[英]CakePHP unable to save file to DB - Unknown column 'Array' in 'field list'

我找到了一個教程,展示了如何上傳文件並將其作為blob存儲在DB中。 這是我在FilesController代碼:

$zip_file=$this->data['File']['zip'];
$fileData = fread(fopen($zip_file['tmp_name'], "r"), $zip_file['size']);

$this->data['File']['zip'] = $fileData;

$this->File->save($this->data);

執行時出現此錯誤:

Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'Array' in 'field list'
SQL Query: INSERT INTO `my_db`.`files` (`task_id`, `zip`) VALUES (5, Array) 

顯然是問題所在,因為$ zip是一個數組。 怎么解決呢?


調試:

var_dump($this->data['File']);

array (size=2)
   'task_id' => string '5' (length=1)
   'zip' => 
       array (size=5)
          'name' => string 'Vaja1.zip' (length=9)
          'type' => string 'application/x-zip-compressed' (length=28)
          'tmp_name' => string 'C:\wamp\tmp\php50B9.tmp' (length=23)
          'error' => int 0
          'size' => int 847624

好吧,找到了答案 -簡而言之:

我不得不用$this->request->data替換每個$this->data $this->request->data ,現在它可以工作了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM