Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

PDO - método para Inserir uma lista de itens na tabela

Olá pessoal, estou usando o PDO para inserir uma lista de dados, o método a seguir atende o que preciso fazer, no entanto acredito não me sinto confortável em deixar a conexão dentro de um loop. Vocês já fizeram algo parecido?

function inserirRestricao($conexao, $fkIdFolha, $listaRestricao)
{


    foreach ($listaRestricao as $descricao) :


        try {
            $query = "INSERT INTO RESTRICAO VALUES (:descricao, :status, :fkIdFolha) ";

            $stmt = $conexao->prepare($query);
            $stmt->bindValue(':descricao', $descricao);
            $stmt->bindValue(':status', 1);
            $stmt->bindValue(':fkIdFolha', $fkIdFolha);
            $stmt->execute();

            // auxilia o ajax a manipular as informações
            // return true;
        } catch (Exception $e) {
            echo "<p class='text-danger'> Ocorreu erro durante o cadastro. Contate o administrador" . $e->getMessage() . "</p>";

            die();
        }


    endforeach;
}
3 respostas

Oi Hermogenes =)

Aqui não tem problema porque o que temos dentro do laço de repetição é o método prepare() da conexão.

Isso significa que estamos reutilizando a conexão.

Se a criação da conexão estivesse dentro do laço realmente não seria legal pois criar a conexão é um processo bastante custoso.

Grande Professor! a pergunta é, você faria desse jeito em produção? ou melhoraria algo?

solução!

Com PHP puro, acho que não muito o que melhorar no reaproveitamento da conexão, já que estamos usando sempre a mesma por script.

Mas, da pra melhorar bastante a arquitetura com orientação a objetos e frameworks MVC =)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software