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

Load data Infile Não está funcionando


F4b1nh0

Pergunta

Boa tarde pessoal!

 

Alguém sabe como usa função LOAD DATA LOCAL INFILE?

tenho o seguinte código:

<?php
//parametros para conexão com o banco
$servidor='localhost';
$usuario = 'root';
$senha = '';
$banco = 'ura';

// conectando no banco
$conexao = mysqli_connect($servidor,$usuario,$senha,$banco);
if (mysqli_connect_errno($conexao)){
echo "Problemas para conectar no banco de dados";
die();
}

//trunca a tabela senha
$sql = "truncate table senha";
mysqli_query($conexao,$sql);

//pega a planilha e faz insert na tabela "senha" do banco "ura"
$filename = ($_FILES['planilhaura']["tmp_name"]);
$abraArq = fopen($filename,"r");
$query="LOAD DATA LOCAL INFILE  '$filename'
INTO TABLE senha2
TERMINATED BY ','
LINES TERMINATED BY '\n'";         
                  
mysqli_query($conexao,$query);
?>

Mas não funciona, não apresenta erro..simplesmente chama a outra página e fica em branco...

Obrigado

Editado por F4b1nh0
Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

pessoal, descobri onde está a falha.

É justamente na parte que lê o arquivo csv: 

"LOAD DATA LOCAL INFILE  '$filename'

quando alterei e coloquei o endereço do arquivo, funcionou. mas como faço para pegar o arquivo utilizando o que for selecionado no input file?

$_FILES['planilhaura']["tmp_name"])
Link para o comentário
Compartilhar em outros sites

  • 0
1 hora atrás, Stoma disse:

Habilita os erros (adiciona este código logo após abrir a tag do PHP):


<?php
ini_set("display_errors", 1);
error_reporting(E_ALL|E_STRICT);

 

engraçado...mesmo assim ele não mostra o erro..

mas identifiquei que ele não "entende" o caminho do csv através da variável..se eu passar o caminho inteiro ele funciona

Link para o comentário
Compartilhar em outros sites

  • 0

Mas o arquivo 230516.csv está em qual pasta? Você moveu ele antes de usar o LOAD DATA?

Segundo o manual do MySQL, é para funcionar sim passando o caminho completo:

The file can be given as a full path name to specify its exact location. If given as a relative path name, the name is interpreted relative to the directory in which the client program was started.

 

Link para o comentário
Compartilhar em outros sites

  • 0

estou usando o usuário root padrão...com todos os privilégios...

a forma que eu faço esse "loader" é de forma básica, ou seja eu uso a funcão fgetcsv e para cada linha faço o insert na tabela..demora um pouquinho mas funciona perfeito.

 

Agora com o loader ele não reconhece a variável com o local nem a pau...muito estranho!

queria usar o loader porque é muuuuuito mais rápido mas valeu pela ajuda, vou deixar do jeito que está mesmo com o fgetcsv.

Obrigado!

Link para o comentário
Compartilhar em outros sites

  • 0
19 horas atrás, Stoma disse:

Tenta verificar as permissões, vê qual usuário que é utilizado nesse processo e se ele tem permissão...

Cara..consegui resolver!!!!!!!

procurei exemplos na internet de scripts com esse load data e achei um que estava colocando o addslashes na variável que pega o caminho do arquivo.

E funcionou!!!

Obrigado pela atenção e vou deixar o código como ficou caso alguém precise algum dia!

 

ficou assim:

$csv = addslashes($_FILES['planilhaura']['tmp_name']);

$sql = "LOAD DATA LOCAL INFILE '$csv'
       INTO TABLE senha2
       FIELDS TERMINATED BY ';'
       OPTIONALLY ENCLOSED BY '\"' 
       LINES TERMINATED BY '\n' 
       IGNORE 1 LINES";

 

 

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
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...