【问题标题】:message: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'name' cannot be null消息:SQLSTATE [23000]:违反完整性约束:1048 列“名称”不能为空
【发布时间】: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
}

【问题讨论】:

    标签: php html


    【解决方案1】:

    $form_data['name'] 不应为空。您可以通过检查它是否为空来处理此问题 isset($form_data['name'])? $form_data['name']: '';

    【讨论】:

      猜你喜欢
      • 2017-11-27
      • 2018-05-08
      • 2021-02-01
      • 2019-11-20
      • 2021-08-16
      • 2019-10-06
      • 2020-10-25
      • 2017-02-28
      • 2017-04-15
      相关资源
      最近更新 更多