Records are duplicating when entering in the database

0

I am making an API and am experiencing a problem. When executing the script that calls the page via cURL, it inserts a record in the database, but instead of registering a single record, it registers 2 equal.

cURL.php

    <?php
    $ch = curl_init();

    $data = array('acao'=>'1', 'dados'=>array('nome'=>'Alisson Acioli', 'cpf'=>'xxxx', 'nascimento'=>date('Y-m-d'), 'email'=>'[email protected]', 'endereco'=>'xxx', 'bairro'=>'itaquera', 'estado'=>'SP', 'cidade'=>'São Paulo', 'referencia'=>'', 'nomemae'=>'Cecilia', 'cep'=>'08215255', 'endproprio'=>'1', 'nacionalidade'=>'Brasileiro', 'sexo'=>'Masculino', 'nomepai'=>'José Antonio', 'grau'=>'Ensino médio', 'estadocivil'=>'Casado', 'pessoafisica'=>'sim', 'login'=>'alisson', 'senha'=>'123456', 'natureza'=>'1'));

    curl_setopt($ch, CURLOPT_URL, "http://localhost:8080/xxxx/api.php");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_POST, true); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));

    $output = curl_exec($ch);

echo $output;

curl_exec($ch);


?>

api.php

<?php
protected function CadastrarUsuario(){

        $dados = $this->dados["dados"];

        //echo json_encode($dados);
        $condition = '';

        foreach($dados as $colunm=>$row){

            $condition .= '"'.$row.'"'.", ";
        }

            $condition = utf8_decode(substr($condition, 0, -2));
            $insert = mysql_query("INSERT INTO cadastros VALUES (NULL, $condition)");

            if($insert){

                echo 'Registro inserido com sucesso!';
            }else{
                echo 'Erro ao realizar registro: '.mysql_error();
            }

    }
?>
    
asked by anonymous 25.07.2014 / 19:10

1 answer

2

You are running the curl_exec ($ ch) function twice; I think the last function should be curl_close ($ ch);

<?php
    $ch = curl_init();

    $data = array('acao'=>'1', 'dados'=>array('nome'=>'Alisson Acioli', 'cpf'=>'xxxx', 'nascimento'=>date('Y-m-d'), 'email'=>'[email protected]', 'endereco'=>'xxx', 'bairro'=>'itaquera', 'estado'=>'SP', 'cidade'=>'São Paulo', 'referencia'=>'', 'nomemae'=>'Cecilia', 'cep'=>'08215255', 'endproprio'=>'1', 'nacionalidade'=>'Brasileiro', 'sexo'=>'Masculino', 'nomepai'=>'José Antonio', 'grau'=>'Ensino médio', 'estadocivil'=>'Casado', 'pessoafisica'=>'sim', 'login'=>'alisson', 'senha'=>'123456', 'natureza'=>'1'));

    curl_setopt($ch, CURLOPT_URL, "http://localhost:8080/xxxx/api.php");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_POST, true); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));

    $output = curl_exec($ch);

echo $output;

curl_close($ch); // <== aqui


?>
    
28.07.2014 / 00:53