Importação de CSV não aceita registros em branco [RESOLVIDO]

Boa a tarde pessoal tudo bem?

Criei uma rotina na aplicação controle para importar um arquivo CSV para o banco de dados MySQL, funcionando perfeito, no entanto, quando tem registros em branco ele não importa.

Segue o arquivo CSV:

NB;ESP;TITULAR;CPF;DATA_NASCIMENTO;ENDERECO;BAIRRO;CIDADE;UF;CEP;TEL1;TEL2;TEL3;TEL4;TEL5;TEL6;TEL7;TEL8;TEL9;TEL10
1026967489;42;"IZEMAR DE OLIVEIRA ";130538174;22/12/1956;“RUA SETE DE SETEMBRO 66”;CENTRO;“SANTO ANTONIO”;RN;59255000;843219626;8432822212;84988092212;84988092220;;;;;;;

Segue a Rotina:

$caminho = $this->Ini->path_doc;
$arq = $caminho.’/’.{arquivo};

$delimitador = ‘;’;
$cerca = ‘"’;
//$_Cerca = ‘’;
$cadastrados=0;

// Abrir arquivo para leitura
$f = fopen($arq, ‘r’);
if ($f) {

// Ler cabecalho do arquivo
$cabecalho = fgetcsv($f, 0, $delimitador, $cerca);

// Enquanto nao terminar o arquivo
while (!feof($f)) {

    // Ler uma linha do arquivo
    $linha = fgetcsv($f, 0, $delimitador, $cerca);
    if (!$linha) {
        continue;
    }

    // Montar registro com valores indexados pelo cabecalho
    $registro = array_combine($cabecalho, $linha);

    // Obtendo campos do CSV

// Olhar no Sseu CSV como estão os NOMES CABEÇALHO dos campos e colocar [‘NOME_CAMPO’]
$_NB = $registro[‘NB’];
$_ESP = $registro[‘ESP’];
$_TITULAR = $registro[‘TITULAR’];
$_CPF = $registro[‘CPF’];
$_DATA_NASCIMENTO = $registro[‘DATA_NASCIMENTO’];
$_ENDERECO = $registro[‘ENDERECO’];
$_BAIRRO = $registro[‘BAIRRO’];
$_CIDADE = $registro[‘CIDADE’];
$_UF = $registro[‘UF’];
$_CEP = $registro[‘CEP’];
$_TEL1 = $registro[‘TEL1’];
$_TEL2 = $registro[‘TEL2’];
$_TEL3 = $registro[‘TEL3’];
$_TEL4 = $registro[‘TEL4’];
$_TEL5 = $registro[‘TEL5’];
$_TEL6 = $registro[‘TEL6’];
$_TEL7 = $registro[‘TEL7’];
$_TEL8 = $registro[‘TEL8’];
$_TEL9 = $registro[‘TEL9’];
$_TEL10 = $registro[‘TEL10’];
/* $_EMAIL = $registro[‘EMAIL’];
$_BANCO = $registro[‘BANCO’];
$_AGENCIA = $registro[‘AGENCIA’];
$_CONTA = $registro[‘CONTA’];
$_MR = $registro[‘MR’];
$_TIPO_EMPRESTIMO = $registro[‘TIPO EMPRESTIMO’];
$_BANCO_EMPRESTIMO = $registro[‘BANCO EMPRESTIMO’];
$_VALOR_PARCELA_RESERVADO = $registro[‘VALOR PARCELA/RESERVADO’];
$_CONTRATO = $registro[‘N CONTRATO’];
$_PRAZO_RESTANTE = $registro[‘PRAZO RESTANTE’];
$_PRAZO_CONTRATADO = $registro[‘PRAZO CONTRATADO’];
$_SALDO_DEVEDOR = $registro[‘SALDO DEVEDOR’];
$_VALOR_CONTRATO = $registro[‘VALOR CONTRATO/LIMITE’];
$_RMC = $registro[‘RMC’];
$_MARGEM_EMPRESTIMO = $registro[‘MARGEM EMPRESTIMO’];
$_MARGEM_CARTAO = $registro[‘MARGEM CARTAO’];*/

  $insert_table  = 'upload';  // Nome da Tabela
  $insert_fields = array(
       'NB'               => "'$_NB'",
     'ESP'             => "$_ESP",
     'TITULAR'      => "'$_TITULAR'",
     'CPF'      => "$_CPF",
     'DATA_NASCIMENTO'      => "$_DATA_NASCIMENTO ",
     'ENDERECO'          => "'$_ENDERECO'",
     'BAIRRO'            => "'$_BAIRRO'",
     'CIDADE'            => "'$_CIDADE'",
     'UF'    => "'$_UF'",
     'CEP'            => "'$_CEP'",
  'TEL1'         => "'$_TEL1'",
	  'TEL2'         => "'$_TEL2'",
	  'TEL3'         => "'$_TEL3'",
	  'TEL4'         =>  "'$_TEL4'",
	 'TEL5'         => "'$_TEL5'",
	  'TEL6'         => "'$_TEL6'",
	  'TEL7'         => "'$_TEL7'",
	  'TEL8'         => "'$_TEL8'",
	  'TEL9'         => "'$_TEL9'",
	  'TEL10'         => "$_TEL10"
	  /*'EMAIL'         => "'$_EMAIL'",
	  'BANCO'         => "'$_BANCO'",
	  'AGENCIA'         => "'$_AGENCIA'",
	  'CONTA'         => "'$_CONTA'",
	  'MR'         => "'$_MR'",
	  'TIPO EMPRESTIMO'         => "'$_TIPO_EMPRESTIMO'",
	  'BANCO EMPRESTIMO'         => "'$_BANCO_EMPRESTIMO'",
	  'VALOR PARCELA/RESERVADO'         => "'$_VALOR_PARCELA_RESERVADO'",
	  'N CONTRATO'         => "'$_CONTRATO'",
	  'PRAZO RESTANTE'         => "'$_PRAZO_RESTANTE'",
	  'PRAZO CONTRATADO'         => "'$_PRAZO_CONTRATADO'",
	  'SALDO DEVEDOR'         => "'$_SALDO_DEVEDOR'",
	  'VALOR CONTRATO/LIMITE'         => "'$_VALOR_CONTRATO'",
	  'RMC'         => "'$_RMC'",
	  'MARGEM EMPRESTIMO'         => "'$_MARGEM_EMPRESTIMO'",
     'MARGEM CARTAO' => "$_MARGEM_CARTAO",*/
    
  );

  // Inserir registro
  $insert_sql = 'INSERT INTO ' . $insert_table
     . ' (' . implode(', ', array_keys($insert_fields)) . ')'
     . ' VALUES (' . implode(', ', array_values($insert_fields)) . ')';

  sc_exec_sql($insert_sql);

  $cadastrados++;

}
fclose($f);

}

if ($cadastrados==0) {
sc_error_message(“Não há registros a atualizar, verifique”);
} else {
sc_error_message("Registros cadastrados: " . $cadastrados);
}

Segue o Erro:

array_combine(): Both parameters should have an equal number of elements
Erro ao acessar o banco de dados

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ’ ‘’, , , ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, )’ at line 1
{SC_DB_ERROR_INI}View SQL{SC_DB_ERROR_MID}INSERT INTO upload (NB, ESP, TITULAR, CPF, DATA_NASCIMENTO, ENDERECO, BAIRRO, CIDADE, UF, CEP, TEL1, TEL2, TEL3, TEL4, TEL5, TEL6, TEL7, TEL8, TEL9, TEL10) VALUES (’’, , ‘’, , , ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ){SC_DB_ERROR_CLS}Close{SC_DB_ERROR_END}

Daniel bom dia,

Uma pergunta: Pra que importar registros em branco?

Na verdade creio que me expressei mal.

Essa rotina não aceita registros em branco, ou seja, era para subir mesmo sendo null.

o arquivo CSV

campo1;campo2;campo3

Se o arquivo tiver campos em branco é para subir os outros registros mas mesmo assim não sobe:

campo1;;campo3

dá erro ao subir mas de acordo com a regra de negócio do cliente é para subir tudo, mesmo porque é quase impossível serem preenchidos todos os campos do CSV, por ex tem no CSV dele 10 telefones, quem tem 10 telefones? Mas o restante dos campos em branco se tiver a rotina é para subir e não sobe, ela sobe somente se todos os campos estiverem todos preenchidos.

entendeu?

O modo debug?

Valeu pessoal, era os espaços nos cabeçalhos do CSV do cliente estava TIPO EMPRESTIMO, coloquei TIPO_EMPRESTIMO e funfou!!

Agora outra coisa que percebi foi o campo data que no banco grava 0.000937286980061349 sendo que no CSV está 22/12/1956. o tipo do campo estava varchar alterei para data ficou 00000-00-00.