Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda na importação de csv para mysql


rguedes

Pergunta

alguém pode me ajudar...

 

Estou fazendo importação de uma tabela csv para o mysql utilizando PHP.

 

Não estou conseguindo fazer upload se tiver algum dos campos em branco, já pesquisei e não encontrei nenhuma solução. 

 

Se minha tabela estiver toda completa eu consigo fazer a importação, mas se  tiver um campo em branco já não faz.

 

Index.php

<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <title>Importa Excel</title>  
    
</head>
<body>
    <h1>Import Excel</h1>
    <form name="processa" action="processa.php" method="POST" enctype="multipart/form-data">
        <input type="file" name="file" value="" />
        <input type="submit" value="Enviar" name="enviar" />
    </form>
</body>

 

processa.php

<?php

//include 'conexao.php';
date_default_timezone_set( 'America/Sao_Paulo' );
$conn = new mysqli("localhost", "root", "123", "importExcel");
mysqli_set_charset($conn,"utf8");

$arquivo = $_FILES["file"]["tmp_name"];
$nome = $_FILES["file"]["name"];

$ext = explode(".", $nome);

$extensao = end($ext);


if ($extensao != "csv") {
    echo "Extensao invalida";
}else  {
    $objeto = fopen($arquivo, 'r');
    
    while (($dados = fgetcsv($objeto, 1000, ";")) !== FALSE) {
        $CPF = utf8_encode($dados[0]);
        $ddd1 = utf8_encode($dados[1]);
        $fone1 = utf8_encode($dados[2]);
        $ddd2 = utf8_encode($dados[3]);
        $fone2 = utf8_encode($dados[4]);
        $ddd3 = utf8_encode($dados[5]);
        $fone3 = utf8_encode($dados[6]);
        
        $result = $conn->query("insert into telefones (CPF,ddd1,fone1,ddd2,fone2,ddd3,fone3) values ('$CPF','$ddd1','$fone1','$ddd2','$fone2','$ddd3','$fone3')");
    }
    if ($result) {
        echo "dados inseridos com sucesso";
    }else{
        echo "Erro ao inserir os dados";
    }
}

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olá!

No início do arquivo, ative a exibição de erros assim:
error_reporting(E_ALL);

Despois de executar a query, coloque esse trecho:

if($conn->error){
die($conn->error);
}

Execute seu script novamente e diga qual mensagem de erro aparece.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...