Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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 在使用curl插入之前检查数据是否存在?_Php - Fatal编程技术网

Php 在使用curl插入之前检查数据是否存在?

Php 在使用curl插入之前检查数据是否存在?,php,Php,我想将数据插入到活动活动中。在此之前,我想检查数据是否存在于活动活动中 function syncContact($data) { $contact = [ 'u' => 7, 'f' => 7, 's' => null, 'c' => 0, 'm' => 0, 'act' => 'sub', 'v' => 2, //

我想将数据插入到活动活动中。在此之前,我想检查数据是否存在于活动活动中

function syncContact($data)
{
    $contact = [
        'u' => 7,
        'f' => 7,
        's' => null,
        'c' => 0,
        'm' => 0,
        'act' => 'sub',
        'v' => 2,
        // Form fields
        'field[1]' => $data['field[1]'], // For gender field
        'fullname' => $data['firstName'] .' ' . $data['lastName'], // Firstname + lastname
        'email' => $data['email'],  // For email field,
        'field[7]' => $data['field[7]'], // For datum,
        'field[15]' => $data['field[15]'], // For ChatVerlauf
        'field[14]' => $data['field[14]'], // For ChatTag
        'field[16]' => $data['field[16]'], // For ChatURL
        'field[17]' => $data['field[17]'], // For ChatInteresse
    ];

    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, "https://.......");
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLINFO_HEADER_OUT, true);
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $contact);
    $result = curl_exec($curl);

    return $result;
}
}


插入工作正常。但在此之前,我想检查数据是否存在,如果不存在,请插入。

参考您的代码。我想说,您可以使用try-catch块,在异常的帮助下,您将得到异常代码。您可以通过curl响应返回异常代码。 在sql/mysql表上,请适当组合主键

try{
if($data) {
        $data['email'] = $data[3];
        $data['firstName'] = $data[5];
        $data['lastName'] = $data[6];
        $data['field[1]'] = $data[4];
        $data['field[7]'] = $data[1];
        $data['field[15]'] = $data[7];
        $data['field[14]'] = $data[2];
        $data['field[16]'] = $data[9];
        $data['field[17]'] = $data[10];

        $this->syncContact($data);
 }
    }catch(\Excetion $e){
    return $e->getCode();
}

检查空数组或对象很简单

if(isset($data) && count($data) != 0){
  // your insert code...
}
else{
  // your message that data is empty...
}

注意:正如@Pramod的代码所描述的那样,使用try。。。catch块也很好,但只需首先检查变量是否为空,因为空数组将包含“[]”。

$data是我需要插入活动活动的数据数组。我的疑问是,我如何检查$data值是否不在活动中。@AnjuGopi抱歉,我不明白您在上述声明中想说什么。“我的疑问是如何检查$data值是否不在活动活动中。”$pramod。我添加了相同的代码,但出现了HTTP错误500@AnjuGopi请再检查一遍。我对代码做了一点小小的修改,不太清楚你的意思。总的来说,我想说的是,只要抓住活动的campain并检查那里是否存在数据。如果做得不好,这可能会导致比赛情况,但应该是可行的。但是,还有
$data
变量,是否要以某种方式检查该变量的属性?
if(isset($data) && count($data) != 0){
  // your insert code...
}
else{
  // your message that data is empty...
}