Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

brunosobral

Aceitar aspas ou aspa simples no insert

Recommended Posts

Bom dia, pessoal

seguinte, to criando uma área de importação arquivo.CSV p/ o banco e nesse arquivo na descrição quando tem

produto com nome (N112 '/PIVO INFERIOR FUSCA) da erro:

MySQL server version for the right syntax to use near 'INFERIOR FUSCA', '36,33')' at line 1.

segue código:

$objeto = fopen($nome_arquivo, 'r');

while(($dados = fgetcsv($objeto, 1000, ";")) !== FALSE)

{

$sql = "INSERT INTO produtos VALUES('$dados[0]', '$dados[1]', '$dados[2]')";

mysql_query($sql) or die(mysql_error());

}

fclose($objeto);

tentei também colocando em uma variável:

$descProduto = $dados[1];

mas da no mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso você teria que escapar as aspas usando contra barra antes da aspa.

Como você esta usando PHP você pode usar a função addslashes.

http://php.net/manual/pt_BR/function.addslashes.php

$objeto = fopen($nome_arquivo, 'r');
while(($dados = fgetcsv($objeto, 1000, ";")) !== FALSE)
{

$sql = "INSERT INTO produtos 
VALUES(
  '".addslashes($dados[0])."', 
  '".addslashes($dados[1])."', 
  '".addslashes($dados[2])."')";

mysql_query($sql) or die(mysql_error());
}
fclose($objeto);

Importante as funções mysql_ estão obsoletas toque por PDO ou mysqli_.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.