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...entao 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
Ja tentei utilizar o addslashes na variavel campo.... mas nao adianta
Alguem pode me ajudar??