+ Responder ao Tópico



  1. #1
    hifi
    Visitante

    Padrão Export MySQL/ PHP

    Olá Lista !
    Estou usando um comando para exportar uma consulta em MySQL/ PHP no formato CSV, assim como o PHPMyAdmin faz. Porém, não esotu tendo sucesso.
    Se vou no console e tento exportar, consigo sem problema.
    Porém se tento via PHP via Web ou via console, o arquivo não é criado e não surge erro que me indique o que pode estar errado.
    A princípio pensei em permissão no local de export, mas criei um diretório com permissão 777 e nem assim.

    $arquivo = "/export/";
    $sql = "SELECT * INTO OUTFILE '$arquivo' FIELDS TERMINATED BY ';' ENCLOSED BY '' LINES TERMINATED BY '\r\n' FROM tabela";
    $executa = mysql_query($sql);

  2. #2

    Padrão

    nao sei se vc eskeceu de copiar algo mas vc ta exportanto para um diretorio e nao para um arquivo...

    $arquivo = "/export/";
    $sql = "SELECT * INTO OUTFILE '$arquivo' FIELDS TERMINATED BY ';' ENCLOSED BY '' LINES TERMINATED BY '\r\n' FROM tabela";

    isso deve resolve:
    $arquivo = "/export/DUMP.CSV";
    $sql = "SELECT * INTO OUTFILE '$arquivo' FIELDS TERMINATED BY ';' ENCLOSED BY '' LINES TERMINATED BY '\r\n' FROM tabela";

  3. #3
    hifi
    Visitante

    Padrão vacilo

    e ae grande ice, tudo bom? qto tempo hein..
    foi 1 vacilo meu na hora do post
    o código tá com o nome sim

    meu php.ini ta no nivel maximo de debug e mesmo assim nao da erro

  4. #4

    Padrão

    agora vai um xute, desde a versao 4 do mysql o comando load data from file ta desabilitado por padrao devido a falhas de seguranca, provavelmente o outfile tb deve te algo do tipo, execute a query manualmente direto no mysql pra ver se funciona

  5. #5
    hifi
    Visitante

    Padrão axo que nao

    axo q nao pelo seguinte.. eu vou no console, executo e gera normal.
    ae eu vo no www e nada..
    tentei rodar via console tb, trocando o bash e tb nada.
    o mais estranho é que ele executa sem erros, mesmo no php.ini eu colocando pra exibir tudo q nao der certo.

  6. #6

    Padrão

    Eu sou muito idiota e tal e manjo muito pouco de PHP... mas não dá para pegar o resultado da query utilizando mysql_fetch_array jogando no array e depois lançar um foreach dentro deste array, ainda com um fwrite direcionando para um arquivo?

    Desculpa, não sei se eu estou ajudando... mas é uma idéia =).

    Outro modo de fazer eu acho é criar um script em shell e chamar por meio de alguma função tipo "system" do C/C++.

  7. #7
    whinston
    Visitante

    Padrão como resolvi

    olá meu caro, obrigado pela sugestão.
    a sintaxe na realidade está correta, pois rodei em outro servidor que tenho e consegui. o problema se manifesta num apache rodando sobre controle do cPanel.
    como eu vi que a sintaxe estava correta e as permissões também, acabei compilando um outro apache (sem a interferência do cPanel) e joguei ele rodando na porta 81. esse comando específico, eu passei pra porta 81.
    ficou uma coisa meio lusitana, mas fazer oq... esse cPanel não colaborou, rs.
    abs