+ -
当前位置:首页 → 问答吧 → 如何不重复插入

如何不重复插入

时间:2011-11-11

来源:互联网

一个二维数组,将它的值插入数据库,如果某个值在数据库中存在不插入,不存在则插入
PHP code

$data = Array
(
    [0] => Array
        (
            [p_id] => 29
            [ywdjxz] => 1
            [ywdjbh] => XHJSD201111041121
            [ywdjid] => 1
            [rq] => 
            [je1] => 2200.00
            [je2] => 1800.00
            [bz] => 亲你妹哦亲
        )

    [1] => Array
        (
            [p_id] => 29
            [ywdjxz] => 1
            [ywdjbh] => XHJSD201111080841
            [ywdjid] => 2
            [rq] => 
            [je1] => 1100.00
            [je2] => 1100.00
            [bz] => 是M款哦亲
        )

)
for($i = 0; $i < 2; $i++){
        $row[$i] = $this->get_row($this->_table.'mx',array('p_id'=>$mx_list['filter']['pid'],'ywdjid'=>$mx[$i]['Id']));//查找数据库中是否有该数据
        if ($row[$i]['data']) {
            return $this->format_ret(XHSKD_ERROR_UNIQUE_DJBH);//如果存在返回
        } else{
            $ret = $this->insert($this->_table.'mx',$data[$i]);//不存在则插入
            return $this->format_ret(XHSKD_SUCCESS);
            }
        }


现在问题是只要存在一条数据,就无法插入其余数据,帮忙看下程序哪里写的不对
神棍节快乐!

作者: LiveAsaMonster   发布时间: 2011-11-11

print_r($row) 看下有什么数据。

不行的话去打印sql分析。

作者: ci1699   发布时间: 2011-11-11

你都return了,其余的当然不插入了

作者: helloyou0   发布时间: 2011-11-11

引用 2 楼 helloyou0 的回复:

你都return了,其余的当然不插入了

这里如何改正?不用return又要使存在的不插入

作者: LiveAsaMonster   发布时间: 2011-11-11

不 return ,返回值复制给一个变量,判断是否可以插入,不可以则 continue; 跳过本次循环进入下一次

作者: voteon83   发布时间: 2011-11-11

引用 4 楼 voteon83 的回复:

不 return ,返回值复制给一个变量,判断是否可以插入,不可以则 continue; 跳过本次循环进入下一次

sorry,存不存在重复都要进入下一循环

作者: voteon83   发布时间: 2011-11-11

引用 4 楼 voteon83 的回复:

不 return ,返回值复制给一个变量,判断是否可以插入,不可以则 continue; 跳过本次循环进入下一次

分给你了!

作者: LiveAsaMonster   发布时间: 2011-11-11

引用 6 楼 liveasamonster 的回复:

引用 4 楼 voteon83 的回复:

不 return ,返回值复制给一个变量,判断是否可以插入,不可以则 continue; 跳过本次循环进入下一次

分给你了!


纳尼?

作者: voteon83   发布时间: 2011-11-11

相关阅读 更多