Php 已成功提交表单,但控制台中出现一个错误,如数据库错误。错误号:1048-Codeigniter

Php 已成功提交表单,但控制台中出现一个错误,如数据库错误。错误号:1048-Codeigniter,php,mysql,ajax,codeigniter,date,Php,Mysql,Ajax,Codeigniter,Date,当我提交表格时,成功地在表格中插入了所有数据,并在控制台中出现如下错误,代码中是否有问题?我在错误中发现了不寻常的日期,日期显示为“1970-01-01”。但我选择了今天的日期,但错误的是它只显示了“1970-01-01” A Database Error Occurred Error Number: 1048 Column 'purchase_shopId' cannot be null INSERT INTO `stock_purchase_history` (`purchase_sho

当我提交表格时,成功地在表格中插入了所有数据,并在控制台中出现如下错误,代码中是否有问题?我在错误中发现了不寻常的日期,日期显示为“1970-01-01”。但我选择了今天的日期,但错误的是它只显示了“1970-01-01”

A Database Error Occurred
Error Number: 1048

Column 'purchase_shopId' cannot be null

INSERT INTO `stock_purchase_history` (`purchase_shopId`, `purchase_productID`, `purchase_quantity`, `purchase_costPrice`, `purchase_TotalRate`, `purchase_tax`, `purchase_taxEmp`, `purchase_sellingPrice`, `purchase_employeeSellingPrice`, `purchase_supplierName`, `purchase_invoice`, `purchase_PurchaseDate`) VALUES (NULL, NULL, NULL, NULL, 0, NULL, NULL, 0, 0, NULL, NULL, '1970-01-01')

Filename: C:/xampp/htdocs/stock/system/database/DB_driver.php

Line Number: 691
我的查询代码

public function insertPurchaseData()
    {
         $shopId =  $this->input->post('shopId');
         $productID =  $this->input->post('productID');
         $quantity =  $this->input->post('quantity');
         $costPrice =  $this->input->post('costPrice');         
         $PurchaseTotalRate = $quantity*$costPrice;
         $taxNormal =  $this->input->post('taxNormal'); 
         $taxEmp =  $this->input->post('taxEmp');
         $supplierName =  $this->input->post('supplierName');
         $invoice =  $this->input->post('invoice');
         $PurchaseDate =  date('Y-m-d', strtotime($this->input->post('PurchaseDate')));        
         //  normal Selling price
         $sellingPrice=($costPrice*$taxNormal)/100+$costPrice ;

         //  emp selling price
         $employeeSellingPrice=($costPrice*$taxEmp)/100+$costPrice;

        $purchaseData =array(

            'purchase_shopId'               => $shopId,                  
            'purchase_productID'            => $productID, 
            'purchase_quantity'             =>$quantity,
            'purchase_costPrice'            =>$costPrice,
            'purchase_TotalRate'            =>$PurchaseTotalRate,
            'purchase_tax'                  =>$taxNormal,
            'purchase_taxEmp'                  =>$taxEmp,
            'purchase_sellingPrice'         =>$sellingPrice,
            'purchase_employeeSellingPrice'=>$employeeSellingPrice,
            'purchase_supplierName'         =>$supplierName,
            'purchase_invoice'               =>$invoice,
            'purchase_PurchaseDate'         =>$PurchaseDate

            );
            $this->db->insert('stock_purchase_history',$purchaseData);



    }
请参见下面的ajax代码

      if(result == '1234567')
    {
            $.ajax({
            type: "POST",
            url: "<?php echo site_url('Con_purchase/add_purchase_for_shop')?>",
            dataType: "JSON",
            data: { 
                    shopId: shopId,
                    productID: productID,
                    quantity: quantity,
                    costPrice : costPrice ,
                    taxNormal : taxNormal ,
                    taxEmp : taxEmp ,                       
                    supplierName : supplierName, 
                    invoice  : invoice , 
                    PurchaseDate   : PurchaseDate  
            },
            success: function(data) 
            {              if (data == '1') {
                            var btn = $(this).closest("tr")
                            var name = inputData.find("button").prop('disabled', false).css(
                            "background-color", "green"); 
                    } else {
                            var btn = $(this).closest("tr")
                            var name = inputData.find("button").prop('disabled', true).css(
                            "background-color", "#2d7bf4");

                    }
            }

        });
        return false;
    }
if(结果==“1234567”)
{
$.ajax({
类型:“POST”,
url:“”,
数据类型:“JSON”,
数据:{
shopId:shopId,
productID:productID,
数量:数量,,
costPrice:costPrice,
taxNormal:taxNormal,
纳税人:纳税人,
供应商名称:供应商名称,
发票:发票,
PurchaseDate:PurchaseDate
},
成功:功能(数据)
{如果(数据=='1'){
var btn=$(此).closest(“tr”)
var name=inputData.find(“按钮”).prop('disabled',false).css(
“背景色”、“绿色”);
}否则{
var btn=$(此).closest(“tr”)
var name=inputData.find(“button”).prop(“disabled”,true).css(
“背景色”、“2d7bf4”);
}
}
});
返回false;
}
我的数据库

列“purchase\u shopId”不能为空,您可以在数据库中更改“purchase\u shopId”可以为空

ALTER TABLE `MyTable`
ALTER COLUMN `purchase_shopId` varchar(20) 
DEFAULT NULL

您必须将列结构更改为null
'purchase\u shopId'
,因为您已选中null复选框。

var\u转储您的post数组,并检查数据是否正确传递给控制器。变量转储($this->input->post());