2
내가 CSV 파일에 테이블을 덤프이 쿼리를 사용 INTO ... SELECT 후 파일을 저장할 수 있습니다 mysql어떻게 OUTFILE 'result.csv'
어떻게 내 사이트의 루트에 저장할 수 있습니까? result.csv
대신에
내가 CSV 파일에 테이블을 덤프이 쿼리를 사용 INTO ... SELECT 후 파일을 저장할 수 있습니다 mysql어떻게 OUTFILE 'result.csv'
어떻게 내 사이트의 루트에 저장할 수 있습니까? result.csv
대신에
당신이 그것을 저장하려는 경로 제공 :
$sql = "SELECT *
INTO OUTFILE '/path/to/your/site/result.csv'
FIELDS TERMINATED BY ';'
FROM tableName";
이 코드는 CSV 파일로 MySQL의 테이블을 내보낼 수 있습니다, 내가 큰 테이블을 테스트 한
<?php
// tested with success
$db_name = "db_name";
$db_password = "pass";
$db_link = mysql_connect("localhost", "root", $db_password);
mysql_select_db($db_name, $db_link);
mysql_query("SET NAMES UTF8");
$table = "table_name";
function assoc_query_2D($sql, $id_name = false){
$result = mysql_query($sql);
$arr = array();
$row = array();
if($result){
if($id_name == false){
while($row = mysql_fetch_assoc($result))
$arr[] = $row;
}else{
while($row = mysql_fetch_assoc($result)){
$id = $row['id'];
$arr[$id] = $row;
}
}
}else
return 0;
return $arr;
}
function query_whole_table($table, $value = '*'){
$sql = "SELECT $value FROM $table";
return assoc_query_2D($sql);
}
$export_str = "";
$result = query_whole_table($table);
foreach($result as $record){
$export_str .= implode(";",$record) . "\n";
}
// add time to fileName
$date = time();
// output the file
// we can set a header to send it directly to the browser
file_put_contents($date.'_'.$table."_export.csv", $export_str);
?>
미안 해요, 난 그걸 시도하기 전에 시도했습니다 – cranberies
SELECT ... INTO OUTFILE 문은 주로 매우 신속하게 서버 컴퓨터의 텍스트 파일에 테이블을 덤프 수 있도록하기위한 것입니다. 결과를 서버 호스트가 아닌 다른 호스트에서 작성하려는 경우 일반적으로 서버 호스트의 파일 시스템에 상대적인 파일 경로를 작성할 수 없으므로 SELECT ... INTO OUTFILE을 사용할 수 없습니다. 그러나 MySQL 클라이언트 소프트웨어가 원격 시스템에 설치되어있는 경우 mysql -e "SELECT ..."> file_name과 같은 클라이언트 명령을 사용하여 클라이언트 호스트에서 파일을 생성 할 수 있습니다. – cranberies
MySQL에는이 파일을 저장하려는 경로에 대한 쓰기 권한이 있어야합니다. 절대적으로 필요한 경우 my.cnf에서 user = root 행으로 mysql을 시작하고 동일한 명령을 실행하십시오. – shantanuo