Ir para conteúdo
Fórum Script Brasil
  • 0

Erro na gravação no banco


Luizzzzzzzzzzzzzzzz

Pergunta

Bom dia pessoal...preciso de um help...

estou lendo um XML enorme e gravando do banco... o sistema começa a gravar no banco...porém chega em alguns registros e dá um erro, abaixo um exemplo do erro:

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 'FARIA LIMA 3144 PREDIO COMERCIAL', bairro = 'JARDIM PAULISTANO', cidade = 'SÂ' at line 2

acho que deve ser por algum caracterer ou acentuação...então como faço para que o php prepare as variaveis para serem gravadas no banco de dados em que de esse tipo de problema??

Passo abaixo o script que estou utilizando:

$xml = simplexml_load_file("USUARIOS_24549607861016494.xml"); // Le o XML

foreach($xml->usuario as $usuario)

{

$cont +=1 ;

$campo1 = $usuario->CODIGO;

$campo2 = $usuario->NOME;

$campo3 = $usuario->ENDERECO.' '.$usuario->NUMERO.' '.$usuario->COMPL;

$campo4 = $usuario->BAIRRO;

$campo5 = $usuario->CIDADE;

$campo6 = $usuario->ESTADO;

$campo7 = $usuario->CEP;

$campo8 = $usuario->DDD1;

$campo9 = $usuario->CGC;

$campo10 = $usuario->RG;

$campo11 = $usuario->CPF;

$campo12 = $usuario->REFERENCIA;

$campo13 = $usuario->CONTRATO;

$campo14 = $usuario->CARTAO1;

$campo15 = $usuario->VALIDADE1;

$campo16 = $usuario->OPERADORA;

$campo17 = $usuario->TIPO1;

$campo18 = $usuario->NROGUIA;

$campo19 = $usuario->DTVENCTO1;

$campo20 = $usuario->RECIBO;

$campo21 = $usuario->TAXA;

$campo22 = $usuario->BANCO;

$campo23 = $usuario->AGENCIA;

$campo24 = $usuario->NOMEAGEN;

$campo25 = $usuario->CONTA;

$campo26 = $usuario->DESCONTO;

$campo27 = $usuario->EMAIL;

$campo28 = $usuario->FORMAPG;

$campo29 = $usuario->cod-emitente;

$campos ="codErp='$campo1',

nomeCliente = '$campo2',

enderecoCliente = '$campo3',

bairro = '$campo4',

cidade = '$campo5',

estado = '$campo6',

cep = '$campo7',

telefoneCliente = '$campo8',

cgc = '$campo9',

rg = '$campo10',

cpf = '$campo11',

referencia = '$campo12',

codigoContrato = '$campo13',

cartao = '$campo14',

validade = '$campo15',

operadora = '$campo16',

tipo = '$campo17',

nrGuia = '$campo18',

dataVencimento = '$campo19',

recibo = '$campo20',

taxa = '$campo21',

banco = '$campo22',

agencia = '$campo23',

nomeAgencia = '$campo24',

conta = '$campo25',

desconto = '$campo26',

emailCliente = '$campo27',

formaPg = '$campo28',

codEmitente = '$campo29'";

$inserir = mysql_query("INSERT INTO cliente SET $campos ") OR die (mysql_error());

}

Como citei...ele grava alguns registros...mas ele para em um determinado registro com o erro

já tentei utilizar o addslashes na variavel campo.... mas não adianta

alguém pode me ajudar??

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Sò pra dar umas idéias..

Tenta usar htmlentities nos $campos, outra é q aki no meu banco está dando problema com acentuação (quando tem acento ele não insere o final da palavra), ainda não descobri exatamente o porque, vê se isso ajuda ae.

Talvez seja melhor usar a sintaxe comum do mysql ( INSERT INTO (campoA, campoB), VALUES ('x', 'y') ).

Abraço e boa sorte ae.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...