CakePHP - 错误:SQLSTATE [HY000]:常规错误:1364字段'标题'

时间:2017-04-20 08:02:34

标签: php mysql cakephp

我的add.ctp表单正在返回“错误:SQLSTATE [HY000]:常规错误:1364字段'标题'没有默认值”。我不知道为什么,一切似乎都写得正确。我输入了标题,但没有将其保存到数据库中。

AlbumsController.php

class AlbumsController extends AppController {        
    public function add() {            
        if($this->request->is('post')) {                
            $this->Album->create();
            $this->Album->save('$this->request->data');                
        }            
    }        
}

add.ctp

<?php
echo $this->Form->create('Album', array('type' => 'file'));
echo "<br>";
echo $this->Form->input('created', array('label' => '', 'separator' => ' ', 'timeFormat' => '24'));
echo "<br>";
echo $this->Form->input('title', array('label' => 'Naslov albuma<br>'));
echo "<br><br>";
echo $this->Form->end('Create album');
?>

的MySQL structure table

1 个答案:

答案 0 :(得分:3)

您需要更改此行:

$this->Album->save('$this->request->data');

并删除单引号,您不需要它:

$this->Album->save($this->request->data);

然而 - 并作为旁注 - ,要从mysql中为标题字段设置默认的NULL值,您可以按如下方式更新表结构,使标题字段接受空值:

ALTER TABLE `tableName` CHANGE `title` `title` varchar(200) NULL DEFAULT NULL;