如何解决此PHP生成的MySql查询?

时间:2019-05-27 22:37:58

标签: php mysql

我正在围绕这个出色的GitHub项目构建库存管理系统,并且正在尝试解决add_product脚本的问题。

我已经裁剪了一些代码来满足我的需求,结果查询如下:

<?php
 if(isset($_POST['add_product']))
 {
    $req_fields = array('product-title','product-category','product-quantity' );
    validate_fields($req_fields);
    if(empty($errors))
    {
        $p_name  = remove_junk($db->escape($_POST['product-title']));
        $p_cat   = remove_junk($db->escape($_POST['product-category']));
        $p_qty   = remove_junk($db->escape($_POST['product-quantity']));

        if (is_null($_POST['product-photo']) || $_POST['product-photo'] === "") {
        $media_id = '0';
    }
    else {
        $media_id = remove_junk($db->escape($_POST['product-photo']));
    }
    $date    = make_date(); 
    /*from function.php make_date(){
        return strftime("%Y-%m-%d %H:%M:%S", time());
    }*/
    $query  = "INSERT INTO products (";
    $query .=" name,quantity,category_id,media_id,date";
    $query .=") VALUES (";
    $query .=" '{$p_name}', '{$p_qty}', '{$p_cat}', '{$media_id}', '{$date}'";
    $query .=")";
    $query .=" ON DUPLICATE KEY UPDATE name='{$p_name}'";
    if($db->query($query))
    {
        $product = last_id("products");
        $product_id = $product['id'];
        if ( $product_id == 0 )
        {
            $session->msg('d','Errore!');
            redirect('add_product.php', false);
        }
    } 
    }
}

?>

结果是这样的:

此查询错误:

INSERT INTO products ( name,quantity,category_id,media_id,date) 
VALUES ( 'Costume1', '3', '3', '1', '2019-05-28 00:12:39') 
ON DUPLICATE KEY UPDATE name='Costume1'

而不是将产品插入数据库。 我怎么解决这个问题?非常感谢!

0 个答案:

没有答案