Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
olá, estou precisando fazer vários updates, em média 33mil registros, mas acontece que: começa a executar a rotina..
update a update....
chega em um certo momento que dá erro:
Fatal error: Maximum execution time of 30 seconds exceeded
daí o mysql dica pirado... e isere valores nada a ver...
<?
//Arquivo DBF
$dbname = "C:\wamp\www\orcamento\dbf\cadite.dbf";
//Conectando com o MySQL
$con = mysql_connect("localhost","root","123456") or die("erro na conexão");
$id = mysql_select_db("orcamento",$con) or die("Erro na seleção do Database");
//Abre o banco de dados Dbase
//0 - somente leitura
//1 - somente escrita
//2 - leitura / escrita
$con = dbase_open($dbname,0) or die("Erro na Conexão com o arquivo DBF");
//Lista os dados da Tabela
$rows = dbase_numrecords($con);
for($i=1;$i<=$rows;$i++) {
$registro = dbase_get_record($con,$i); //Pega o registro do arquivo DBF
$ITE_CODITE =substr($registro[0],3);
$ITE_SALDOS = $registro[1];
$ITE_PREVEN = $registro[2];
$ITE_PREPRA = $registro[3];
$ITE_PRE003 = $registro[4];
$sql = "select ITE_CODITE,ITE_SALDOS,ITE_PREVEN,ITE_PREPRA,ITE_PRE003 from cadite where ite_codite ='".$ITE_CODITE."'";
$exec = mysql_query($sql);
$resposta = mysql_fetch_assoc($exec);
$codigo = $resposta['ITE_CODITE'];
$saldos = $resposta['ITE_SALDOS'];
$preven = $resposta['ITE_PREVEN'];
$prepra = $resposta['ITE_PREPRA'];
$pre003 = $resposta['ITE_PRE003'];
$EXEC=mysql_query("UPDATE cadite SET ITE_SALDOS=$ITE_SALDOS ,ITE_PREVEN=$ITE_PREVEN ,ITE_PREPRA=$ITE_PREPRA ,ITE_PRE003=$ITE_PRE003 WHERE ITE_CODITE=$ITE_CODITE ");
echo "registro ".$i;
echo " codigo: ".$ITE_CODITE;
echo" saldoant ".$ITE_SALDOS;
echo " sando novo ".$saldos;
echo "<br>";echo "Sucesso! Arquivos gravados";
?>
as vezes atualiza 10mil sem erros, se executo logo em seguida ele atualiza 500... assim vai...
obrigado,
Ricardo
Carregando comentários...