2013-12-11 4 views
0

이 모든 것은 우분투 램프 서버에 있습니다. 나는 SQL 쿼리의 결과를 CSV 파일에 넣으려고합니다. PHP는 db를 쿼리하고 csv 파일을 생성 할 수 있습니다. 하지만 결과를 CSV 파일에 기록 할 수는 없습니다.MYSQL 쿼리를 CSV 파일에 쓰십시오. 쿼리를 쓸 수 없습니다.

<?php 
//connect to db and query 
$db_conn=mysqli_connect(xxxx, xxxx, xxxx, xxxx); 
if (mysqli_connect_errno($db_conn)) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 
$result = mysqli_query($db_conn,'SELECT time, bid, ask, volume FROM MtGox LIMIT 50'); 
$fp = fopen('/var/www/BTCData.csv',"w")or die("can't open file"); 

//store results as array and put into csv file 
$fp = fopen('/var/www/TempFile.csv',"w")or die("can't open file"); 
$row = mysqli_fetch_assoc($result)or die('failure!'); 
foreach ($row as $fields) { 
fputcsv($fp, $fields); 
} 
fclose($fp); 
echo 'success!'; 
?> 
+0

당신도, 루프 inmto 당신의'mysqli_fetch_assoc'의 통화를 보류해야한다, 또는 당신은 단지 하나의 행을 얻을 것이다. 또한 - 두 개의 CSV 파일을 여는 중입니다. 어느쪽에 편지를 쓰고 싶습니까? – andrewsi

+0

BTCData에 쓰고 싶습니다. 문제는 mysqli_fetch_assoc에서 데이터를 가져 오는 것 같습니다. 웹 페이지에서 결과를 인쇄하거나 에코하면 모든 행이 제대로 출력됩니다. 그러나, 나는 그것을 CSV 파일에 넣을 수 없다. 내가 체크하기 위해 텍스트 파일에 더미 텍스트를 작성 했으므로 디렉토리에 쓸 수 있습니다. – user3092297

답변

0
$db_conn=mysqli_connect(xxxx, xxxx, xxxx, xxxx); 
if (mysqli_connect_errno($db_conn)) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 
$result = mysqli_query($db_conn,'SELECT time, bid, ask, volume FROM MtGox LIMIT 50'); 
$data = ''; 

while ($row = mysql_fetch_assoc($result)) { 
    $data .= $row['time'].';'; 
    $data .= $row['bid'].';'; 
    $data .= $row['ask'].';'; 
    $data .= $row['volume'].';'; 
} 

file_put_contents ('/var/www/BTCData.csv', $data); 
+0

이것은 csv 파일을 만들지 만 아무것도 쓰지 않습니다. – user3092297

관련 문제