Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
não estou conseguindo entender, fiz uma condição com while que le os meus usuarios do site (via xml) e joga os valores que preciso pro banco de dados. Porem sempre quando chega com 20 registro ele dispara este erro: "Error 503 Service Unavailable".
Porque esta acontecendo isso, como posso contornar?
>
$rsUser = $db->Execute("SELECT * FROM usuarios WHERE id < 150");
while(!$rsUser->EOF){
$id= $rsUser->fields["id"];
$url = "[http://www.site.com.br/usuario.xml?user=](http://www.site.com.br/usuario.xml?user=)" . "$id";
$xml = simplexml_load_file($url);
$nome = $xml->Data->Nome;
mysql_query("INSERT INTO tabela [...]
$rsUser->MoveNext();
}
uso linux hospedado na locaweb, nao sei se esta informação pode ajudar
nao sei se tem algo haver com a quantidade de insert que ele da no banco, ja que cada execução ele da um insert
vou tentar com foreach, eu reparei uma coisa que ele dispara o erro 503 na tela,
mas no banco parece que ele ainda continua sendo executado mesmo com este erro na tela, porem depois de uns minutos ele para de inserir
como se fosse em background o0
@edit
deixei o while sem inserir no banco e ele chegou ate o final
mudei pra foreach e ele abortou a inserção no registro 27, ate agora sempre falha neste valor. porem fui ver o que tinha de errado neste registro e esta tudo ok
nada, alguma outra sugestão
ta tenso :(
É grande a probabilidade de o while ter entrado em loop, assim como pode ser a base de dados sem retorno.
Se o retorno $rsUser possuir a interface Traversable, tente executar com um foreach ao invés do while:
Tente também executar o while sem inserir nada no sgbd, para ver se não está tendo problemas com a conexão.