Php CI中的replace语句查询

Php CI中的replace语句查询,php,mysql,replace,codeigniter-3,Php,Mysql,Replace,Codeigniter 3,我有这张桌子 id | part_number | desc | date | 1 | 3yrt3470 | aa | 2017-02-20 | 2 | 3utitj40 | bb | 2017-02-12 | pk=id 我想在表中创建查询插入,但如果零件号存在,它将被更新。有人能帮我吗? 我试过这个 function replace($part_number) { $this->db->replace('tbl_master_data

我有这张桌子

id | part_number | desc | date       |
1  | 3yrt3470    | aa   | 2017-02-20 |
2  | 3utitj40    | bb   | 2017-02-12 |
pk=id

我想在表中创建查询插入,但如果零件号存在,它将被更新。有人能帮我吗? 我试过这个

function replace($part_number)
{
    $this->db->replace('tbl_master_data');
    $this->db->set('description',$description);
    $this->db->set('rrp',$rrp);
    $this->db->set('discount_code',$discount_code);
    $this->db->set('product_group',$product_group);
    $this->db->set('value_discount',$value_discount);
    $this->db->set('stk',$stk);
    $this->db->where('part_number',$part_number);
}

错误消息显示您必须使用“set”方法…

出现此错误的原因是您在执行set和where方法之前调用了replace方法。所以把replace作为函数中的最后一个语句。。。然后你会得到一堆错误,说你的变量(除了$part_number)没有定义。。。这并不能回答您的插入/更新问题,但您应该意识到这一点。。。好的,现在我想找到零件号,如果零件号存在,它将被替换,可以告诉我它是如何工作的吗?