【发布时间】:2019-10-26 09:50:13
【问题描述】:
我是 php 新手。我看不出这段代码中有什么错误。 请帮我。我收到这个错误 '消息:SQLSTATE [23000]:违反完整性约束:1048 列'名称'不能为空'
//insert new product
$app->post('/products/inserts', function ($request, $response,$args){
$form_data = $request->getParsedBody();
//return $this->response->withJson($form_data, 200);
$data = createProduct($this->db, $form_data);
if ($data<= 0){
return $this->response->withJson(array('error'=> 'fail'), 500);
return $this->response->withJson(array('data'=> 'success'), 200);
}
});
//insert new product
function createProduct($db, $form_data)
{
$sql = 'Insert into products (name, description, price, category_id, created)';
$sql .= 'values (:name, :description, :price, :category_id, :created)';
$stmt = $db->prepare ($sql);
$stmt->bindParam(':name', $form_data['name']);
$stmt->bindParam(':description', $form_data['description']);
$stmt->bindParam(':price', $form_data['price']);
$stmt->bindParam(':category_id', floatval($form_data['price']));
$stmt->bindParam(':created', $form_data['created']);
$stmt->execute();
return $db->lastinsertID(); //insert last number
}
【问题讨论】: