Estou lendo um arquivo .txt para atualizar no banco de dados algumas informações como estoque e preço até ai tudo bem o problema, consigo pegar exatamente os campos que preciso porém na hora de atualizar no banco não está funcionando, está granvado tudo zerado, segue abaixo o código.
file.txt
1 AMITRAZ 10ML 603,00 0,00 0,00 1,94 INDUBRAS INDUBRAS
arquivo.php
$c=0; $a=0; while (!feof ($ponteiro)) { $c++; $linha = fgets($ponteiro, 4096); $linha = str_replace(" ","-",$linha); $id = str_replace("-","",substr($linha, 0, 16)); $estoque = str_replace("-","",str_replace(",",".",str_replace(".","",substr($linha, 100, 24)))); $preco = str_replace("-","",str_replace(",",".",str_replace(".","",substr($linha, 168, 20)))); $dv = explode(".",$estoque); $estoque = $dv[0]; if($c>1){ $v = mysql_query("SELECT * FROM produtos WHERE ref='".$id."'"); echo "SELECT * FROM produtos WHERE ref='".$id."' ----- ".mysql_num_rows($v).'<br />'; mysql_query("INSERT INTO historico_banco (ref, preco, estoque) VALUES ('".$id."', '".$preco."', '".$estoque."')"); echo $id." - ".$preco." - ".$estoque; echo " ------ INSERT INTO historico_banco (ref, preco, estoque) VALUES ('".$id."', '".$preco."', '".$estoque."')<br /><br />"; if(mysql_num_rows($v)>0){ $at = mysql_query("UPDATE produtos SET valor='".$preco."', estoque='".$estoque."' WHERE ref='".$id."'"); echo "UPDATE produtos SET valor='".$preco."', estoque='".$estoque."' WHERE ref='".$id."'<br /><br />"; if($at){ $a++; } } } } fclose ($ponteiro);
No código php eu pulo a primeira linha pois não me interessa, quando escrevo na tela as informações estão apresentando corretamente mas na hora de inserir no banco o registro é feito porém as informação ficam zeradas como no exemplo abaixo.
ref preco estoque 0 0.00 0
Se alguém conseguir me ajudar agradeceria muito.
Att
Resolvido!
Limpei as strings como neste exemplo ref='".str_replace('\0','',addslashes(trim($id)))."' e funcionou perfeitamente.
Att