Eu utilizo este código para inserir dados no banco de dados MySQL, porém ele insere apenas uma linha e ainda com valores 00 nos campos int e float e em branco no campo varchar.
Ele executa o script com sucesso, mas qdo verifico no banco não estão os dados inseridos

Já usei este mesmo script para inserir textos e insere normalmente só agora para este caso que não está funcionando

Será que alguém de vocês pode me ajudar?
<?php require_once('conexao.php'); $file = fopen ('desc.txt', 'r'); while (!feof($file)) { $line = fgets($file, 4096); if (!ereg ("#", $line)) { list ($ano, $mes, $matricula, $tipo_desconto, $valor) = explode ('|', $line); $ano = trim($ano); $mes = trim($mes); $matricula = trim($matricula); $tipo_desconto = trim($tipo_desconto); $valor = trim($valor); $valor = str_replace(",", ".", $valor); $sql=mysql_query("TRUNCATE TABLE `tb_descontos`"); $sql = "INSERT INTO tb_descontos (ano,mes,matricula,tipo_desconto,valor) VALUES ('$ano','$mes','$matricula','$tipo_desconto','$valor')"; $resultado = mysql_query($sql) or die(mysql_error()); } } fclose ($file); mysql_close(); if ($resultado) { print "Dados copiados com sucesso!"; } else { print "Foi possível copiar os dados do arquivo."; } ?>a tabela está estruturada assim:
já tentei como float e decimal para o campo valor mas não deu certo de nenhuma das formas.Campo Tipo Atributos Nulo Padrão
ano int(4) UNSIGNED ZEROFILL Não 0000
mes int(2) UNSIGNED ZEROFILL Não 00
matricula int(10) UNSIGNED ZEROFILL Não 0000000000
tipo_desconto varchar(30) Não
valor decimal(5,2) UNSIGNED ZEROFILL Não 000.00
Obrigada
Andreia Regina
Edição feita por: Andreia Regina, 30/06/2005, 15:01.