Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果数据库中已存在,请更新现有数组记录,否则请使用数组插入数据库_Php_Mysql_Arrays - Fatal编程技术网

Php 如果数据库中已存在,请更新现有数组记录,否则请使用数组插入数据库

Php 如果数据库中已存在,请更新现有数组记录,否则请使用数组插入数据库,php,mysql,arrays,Php,Mysql,Arrays,我在更新销售订单时使用for each时出错 foreach( $_POST['productId'] as $key => $val){ $invoice_arrs = array( "product_name" => $_POST['productname'][$key], "purchaseQty" => $_POST[

我在更新销售订单时使用for each时出错

    foreach( $_POST['productId'] as $key => $val){
            $invoice_arrs = array(
                    "product_name"      =>      $_POST['productname'][$key],
                    "purchaseQty"       =>      $_POST['purchaseQty'][$key],
                    "sellingPrice"      =>      $_POST['sellingPrice'][$key],
                    "discount"          =>      $_POST['discount'][$key],
                    "dis_type"          =>      $_POST['discounttype'][$key],
                    "total"             =>      $_POST['total'][$key],
                    "net_price"         =>      $_POST['net_price'][$key]
            );
$temp=UpdateRecords("sales_order","sales_order_id=$id",$invoice_arrs,1);

   //here is my update record function

    function UpdateRecords($table, $condition, $updata, $debug = "") {
    global $conn;

    foreach ( $updata as $key => $value ) {
        if ($value != "now()") {
            $fv [] = "$key = \"" . "$value" . "\"";
        } else {
            $fv [] = "$key = " . "$value" . "";
        }
    }

    $fv_list = trim ( implode ( ", ", $fv ) );
    $query = "UPDATE $table SET " . "$fv_list" . " WHERE $condition";
    if ($debug == 1) {
        echo $query;
    }

    $result = executeQuery( $query );

    if (! mysqli_affected_rows ( $conn )) {
        global $errormessage;
        $errormessage = mysqli_error ( $conn );

        if (! empty ( $errormessage ))
            return 0;
    }

    return 1;
}   

您可以尝试以下查询-

INSERT INTO $table (product_name, 
                    purchaseQty, 
                    sellingPrice,  
                    discount, 
                    dis_type, 
                    total, 
                    net_price)
VALUES($_POST['productname'][$key],
       $_POST['purchaseQty'][$key],
       $_POST['sellingPrice'][$key],
       $_POST['discount'][$key],
       $_POST['discounttype'][$key],
       $_POST['total'][$key],
       $_POST['net_price'][$key])
ON DUPLICATE KEY UPDATE product_name = VALUES($_POST['productname'][$key]), 
                        purchaseQty = VALUES($_POST['purchaseQty'][$key]), 
                        sellingPrice = VALUES($_POST['sellingPrice'][$key]), 
                        discount = VALUES($_POST['discount'][$key]), 
                        dis_type = VALUES($_POST['discounttype'][$key]), 
                        total = VALUES($_POST['total'][$key]), 
                        net_price = VALUES($_POST['net_price'][$key]);

请包括
UpdateRecords
functiondetail的定义已更新请检查