Php 质量泵

Php 质量泵,php,mysql,Php,Mysql,查询可以工作,但我想修改它 $sql = "INSERT INTO `coupon` SET `name` = 'FREECOUPON', `coupon_code` = '" . $this->db->escape($couponCode) . "', `discount` = '38', `uses_total`

查询可以工作,但我想修改它

$sql = "INSERT INTO `coupon` SET 
                    `name` = 'FREECOUPON', 
                    `coupon_code` = '" . $this->db->escape($couponCode) . "', 
                    `discount` = '38', 
                    `uses_total` = '22', 
                    `status` = '1'
                ";

                $this->db->query($sql);

                $coupon_id = $this->db->getLastId();

                $this->db->query("INSERT INTO coupon_cat SET coupon_id = '" . (int)$coupon_id . "', category_id = 79  ");

我想将“质量泵”数据输入
优惠券\u cat
。我需要从30-180类泵,但在不同的线路。你知道怎么做吗?

如果我明白你的意思,你想在150个类别id中插入相同的优惠券id。可以使用loop在一个查询中插入所有行以创建所有值

$this->db->query("INSERT INTO coupon_cat SET coupon_id = '" . (int)$coupon_id . "', category_id = 79  ");
优惠券id=(int)$this->db->getLastId();
$values=[];
对于($category\u id=30;$category\u id db->query('INSERT INTO'优惠券目录'(优惠券id,category\u id)值)。内爆(',',$VALUES));

通常情况下,您需要插入到数据库表中,而不是任何泵送。您的意思是您需要相同的插入,但对于30到180之间的所有类别?什么MySQL版本?@danblack version 4但我希望它插入不同的行,而不是使用内插。这将插入150(180-30=150)数据库中的不同行。您好,在尝试代码后:语法错误,意外的“$优惠券id”^此错误显示已修复。错过了点。很抱歉响应太晚。尝试了代码,但未插入到
优惠券\u cat
$coupon_id = (int)$this->db->getLastId();

$values = [];
for ($category_id = 30; $category_id <= 180; $category_id++) {
    $values[] = '(' . $coupon_id . ',' . $category_id . ')';
}

$this->db->query('INSERT INTO `coupon_cat` (coupon_id, category_id) VALUES ' . implode(',', $values));