Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.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 如果zend framework 1.11表中存在,则添加或更新_Php_Zend Framework_Model View Controller_Frameworks - Fatal编程技术网

Php 如果zend framework 1.11表中存在,则添加或更新

Php 如果zend framework 1.11表中存在,则添加或更新,php,zend-framework,model-view-controller,frameworks,Php,Zend Framework,Model View Controller,Frameworks,如果Mysql表中存在数据,我希望更新数据,否则我会添加数据,所以我会执行此脚本,但如果id为,则只添加不更新数据(如果已经存在) public function addUpdateCust(array $data) { if(!empty($data)) { if($this->update($data, array('id = ?' => $data['id'])) > 0 ) { return tr

如果Mysql表中存在数据,我希望更新数据,否则我会添加数据,所以我会执行此脚本,但如果id为,则只添加不更新数据(如果已经存在)

public function addUpdateCust(array $data)
{

    if(!empty($data))
    {
        if($this->update($data, array('id = ?' => $data['id'])) > 0 )
        {
            return true;
        }
        $row = $this->createRow();
        //$row->id           = $data['id'];
        $row->code           = $data['code'];
        $row->fabname        = $data['fabname'];
        $row->namecustomer   = $data['namecustomer'];
        $row->adresse        = $data['adresse'];           
        $row->city           = $data['city'];           
        $row->zipcode        = $data['zipcode'];           
        $row->country        = $data['country'];           
        $row->phone          = $data['phone'];       
        $row->representative = $data['representative'];
        $row->idUser         = NULL;

        //var_dump($row);
        try {
            return $row->save();           
        } catch (Exception $e) {
            return $e;
        }
    }
    return false;
}

提前感谢

您可能应该为此使用try/catch。更新不会像您想象的那样返回true或false

public function addUpdateCust(array $data)
{

    if(!empty($data))
    {
        try{
            $this->update($data, array('id = ?' => $data['id']);
        } catch (Zend_Exception $e) {
            $row = $this->createRow();
            //$row->id           = $data['id'];
            $row->code           = $data['code'];
            $row->fabname        = $data['fabname'];
            $row->namecustomer   = $data['namecustomer'];
            $row->adresse        = $data['adresse'];           
            $row->city           = $data['city'];           
            $row->zipcode        = $data['zipcode'];           
            $row->country        = $data['country'];           
            $row->phone          = $data['phone'];       
            $row->representative = $data['representative'];
            $row->idUser         = NULL;

            //var_dump($row);
            try {
                return $row->save();           
            } catch (Exception $e) {
                return $e;
            }
        }
        return true;
    }
}

请参见

您并不是在说不起作用的内容。我们希望你们在提出问题时尽可能多的努力,就像你们希望我们回答一样。这应该是有效的。检查
$data
是否有正确的数据。因此,如果表中存在此id,我希望更新,否则我希望插入添加数据tanhks以帮助我解决问题。如果更新失败(记录不存在),则捕获异常并从中创建。就像我的例子一样。如果你不知道例外情况是什么,那么你可能会陷入困境。我们可以帮忙。不为你这样做。我这样做,但不插入数据,不更新,如我的代码已经可以做添加,但现在当我做这个脚本不做任何事情谢谢你的帮助,你应该聘请一名程序员。我无能为力。我甚至不确定你是否理解我发布的示例。祝你好运我是程序员,我知道很好的例外,但当我做这个脚本,它不适合我提前感谢
public function addUpdateCust(array $data)
{

    if(!empty($data))
    {
            $row = $this->createRow();
            //$row->id           = $data['id'];
            $row->code           = $data['code'];
            $row->fabname        = $data['fabname'];
            $row->namecustomer   = $data['namecustomer'];
            $row->adresse        = $data['adresse'];           
            $row->city           = $data['city'];           
            $row->zipcode        = $data['zipcode'];           
            $row->country        = $data['country'];           
            $row->phone          = $data['phone'];       
            $row->representative = $data['representative'];
            $row->idUser         = NULL;

            //var_dump($row);
            try {
                return $row->save();
            } catch (Zend_Exception $e) {
               $this->update($data, array('id = ?' => $data['id']);
            }
        return true;
    }
}