PHP-CRUD-API在列上插入NULL
我将()用于MySQL数据库 当我发送一个简单的POST并在主体中传递一个JSON对象时,表的VARCHAR(255)列接收空值 这是我的CREATETABLE语句PHP-CRUD-API在列上插入NULL,php,api,Php,Api,我将()用于MySQL数据库 当我发送一个简单的POST并在主体中传递一个JSON对象时,表的VARCHAR(255)列接收空值 这是我的CREATETABLE语句 CREATE TABLE users ( id integer NOT NULL AUTO_INCREMENT, name varchar(255) , email varchar(255), PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSE
CREATE TABLE users ( id integer NOT NULL AUTO_INCREMENT, name varchar(255) , email varchar(255), PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
当我在身体里发送一个帖子时
{"id": 1, "name": "Someone", "email": "something@x.com"}
它返回状态200,行插入表中,但名称和电子邮件列具有空值
当我发送GET时,一切都是正确的(我已经手动插入了一些行来测试这一点)
我错过了什么
已编辑:如果我在请求中以x-www-form-urlencoded的形式发送数据,它会工作。我更喜欢在主体中传递JSON对象,但是…此行为是MySQL设置插入缺少值时的默认行为。如果需要空字符串,则应在“varchar”类型定义之前添加“notnull”
注意:我是PHP-CRUD-API的作者你认为会发生什么?你能澄清这个问题吗?我在我的json对象上传递非空值。如果在列上放置NOTNULL约束,则插入失败。如果使用上述定义保留表,则即使传递到json对象上的NOTNULL(也不缺少)值也会作为null存储在表中。我认为我的json将用于填充列。没有别的了。。。