PHP-CRUD-API在列上插入NULL

时间:2019-02-10 11:48:46

标签: php api

我正在将(PHP-CRUD-API)与MySQL数据库一起使用。

当我发送一个简单的POST并在其内部传递一个JSON对象时,表的VARCHAR(255)列将接收NULL值。

这是我的CREATE TABLE语句

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

当我发送通过身体的POST时

{"id": 1, "name": "Someone", "email": "something@x.com"}

它返回状态200,该行插入到表中,但是NAME和EMAIL列具有NULL值。

当我发送GET时,一切都正确(我已经手动插入了几行来对此进行测试)。

我想念什么?

已编辑:如果我在请求中以x-www-form-urlencoded的形式发送了数据,则该数据有效。我更喜欢在体内传递JSON对象,但是...

1 个答案:

答案 0 :(得分:1)

此行为是MySQL设置在插入缺失值时的默认行为。如果要使用空字符串,则应在“ varchar”类型定义之前添加“ NOT NULL”。

NB:我是PHP-CRUD-API的作者