Insert data into the table via PHP Array ()

0

I have the following PHP:

# Prospect
$sql_prospect = "SELECT * FROM interessados LIMIT 100";
$exe_prospect = mysqli_query($link, $sql_prospect);

$i = 0;
while($res_prospect=mysqli_fetch_array($exe_prospect, MYSQLI_ASSOC)){
    $prospect[$i]['uni_id'] = $res_prospect['int_cod_unidade'];
    $prospect[$i]['cur_id'] = $res_prospect['int_cod_curso'];
    $prospect[$i]['usu_id'] = $res_prospect['int_cod_consultora'];
    $prospect[$i]['cam_id'] = $res_prospect['int_cod_campanha'];
    $prospect[$i]['pro_id_origem'] = $res_prospect['int_cod_origem'];
    $prospect[$i]['pro_nome'] = $res_prospect['int_nome'];
    $prospect[$i]['pro_telefone'] = $res_prospect['int_telefone'];
    $prospect[$i]['pro_whatsapp'] = $res_prospect['int_whatsapp'];
    $prospect[$i]['pro_endereco_cep'] = $res_prospect['int_endereco_cep'];
    $prospect[$i]['pro_endereco'] = $res_prospect['int_endereco'];
    $prospect[$i]['pro_endereco_estado'] = $res_prospect['int_endereco_estado'];
    $prospect[$i]['pro_endereco_cidade'] = $res_prospect['int_endereco_cidade'];
    $prospect[$i]['pro_email'] = $res_prospect['int_email'];
    $prospect[$i]['pro_data'] = $res_prospect['int_data'];
    $prospect[$i]['pro_data_nascimento'] = $res_prospect['int_data_nascimento'];
    $prospect[$i]['pro_observacao'] = $res_prospect['int_observacao'];
    $prospect[$i]['pro_status'] = $res_prospect['int_status'];
    $i++;
}

In this way, $prospect, is assigned to all arrays, as described above.

What would be the correct way to insert into the database? Without having to do "insert into tabela (campo1, campo2, campo3) values (campo1, campo2, campo3).."

I would like to do something like this: INSERT INTO tabela (todos_os_campos) VALUE (todos_os_campos) , perhaps with some kind of implode?

    
asked by anonymous 22.01.2018 / 19:22

1 answer

3

Hi, You can use this method, I use it in a script of mine. Add the quotation marks in the assignment and already generate the implode in the loop. Here's a link of the working code

$i = 0;
while($i<10){

    $prospect[$i]['uni_id'] = "'abc'";
    $prospect[$i]['cur_id'] = "'abc'";
    $prospect[$i]['usu_id'] = "'ba'";
    $prospect[$i]['cam_id'] = "'abc'";
    $prospect[$i]['pro_id_origem'] = "'abc'";
    $prospect[$i]['pro_nome'] = "'abc'";
    $prospect[$i]['pro_telefone'] = "'abc'";
    $prospect[$i]['pro_whatsapp'] = "'abc'";
    $prospect[$i]['pro_endereco_cep'] = "'abc'";
    $prospect[$i]['pro_endereco'] = "'abc'";
    $prospect[$i]['pro_endereco_estado'] = "'abc'";
    $prospect[$i]['pro_endereco_cidade'] = "'abc'";
    $prospect[$i]['pro_email'] = "'abc'";
    $prospect[$i]['pro_data'] = "'abc'";
    $prospect[$i]['pro_data_nascimento'] = "'abc'";
    $prospect[$i]['pro_observacao'] = "'abc'";
    $prospect[$i]['pro_status'] = "'abc'";
    // verifica se $nomeCampos já não está setado
    if(!isset($nomeCampos)){
        // define nomes colunas
        $nomeCampos = array_keys($prospect[0]);
    }

    $prospect[$i] = '(' . implode(', ', $prospect[$i]) . ')' ;
    $i++;
}
$prospects = implode(', ', $prospect);


$nomeCampos = implode(', ', $nomeCampos);



$sql = "INSERT INTO {$nomeCampos} VALUES ($prospects);";
echo $sql . PHP_EOL;
    
23.01.2018 / 03:43