- Export MySQL/ PHP
+ Responder ao Tópico
-
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);
-
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";
-
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
-
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
-
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.
-
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++.
-
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