CakePHP-Error:SQLSTATE[HY000]:一般错误:1364字段';标题';

CakePHP-Error:SQLSTATE[HY000]:一般错误:1364字段';标题';,php,mysql,cakephp,Php,Mysql,Cakephp,我的add.ctp表单返回“错误:SQLSTATE[HY000]:一般错误:1364字段“title”没有默认值”。我不知道为什么,似乎所有的东西都写对了。我输入标题,但它不会将其保存到数据库中 AlbumsController.php class AlbumsController extends AppController { public function add() { if($this->request->is(

我的add.ctp表单返回“错误:SQLSTATE[HY000]:一般错误:1364字段“title”没有默认值”。我不知道为什么,似乎所有的东西都写对了。我输入标题,但它不会将其保存到数据库中

AlbumsController.php

class AlbumsController extends AppController {        
    public function add() {            
        if($this->request->is('post')) {                
            $this->Album->create();
            $this->Album->save('$this->request->data');                
        }            
    }        
}
<?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');
?>
添加.ctp

class AlbumsController extends AppController {        
    public function add() {            
        if($this->request->is('post')) {                
            $this->Album->create();
            $this->Album->save('$this->request->data');                
        }            
    }        
}
<?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

您需要更改此行:

$this->Album->save('$this->request->data');
并删除单引号,您不需要它:

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

但是,作为补充说明,要从mysql中为标题字段设置默认空值,您可以按如下方式更新表结构,使标题字段接受空值:

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

您需要更改此行:

$this->Album->save('$this->request->data');
并删除单引号,您不需要它:

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

但是,作为补充说明,要从mysql中为标题字段设置默认空值,您可以按如下方式更新表结构,使标题字段接受空值:

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

是的,我不需要空,我需要标题。谢谢你,我不需要空的,我需要标题。谢谢,伙计