如何使用mysql_fetch_array / mysql_fetch_row结果创建csv文件,其中每行记录都是csv,而下一条记录在新行中。
我试过这个:
$query = "SELECT * FROM myTable DESC LIMIT 10";
$result = mysql_query($query, $conn);
$resultRows = mysql_num_rows($result);
if($resultRows < 1) {
    return array('query' => $query, 'NumberOfRows' => $resultRows, 'status' => 'failure');
};
$rowResult = mysql_fetch_array($result);
//var_dump($rowResult);exit;
foreach($rowResult as $row){
    $resultSet = $row['firstname'];
    $resultSet .= ',' . $row['lastname'];
    $resultSet .= ',' . $row['email'];
    $resultSet .= ',' . $row['phone'];
    $resultSet .= ',' . ($row['address1']);
    $resultSet .= '\n';
    //var_dump($resultSet);exit;
}发布于 2012-07-26 06:55:40
如果您希望以CSV格式下载该文件,则需要包括以下标头
header("Content-type: application/x-msdownload");
header("Content-Disposition: attachment; filename=extraction.csv");
header("Pragma: no-cache");
header("Expires: 0");然后,对于csv部分,您将使用类似以下内容:
echo "FirstName,LastName,Email,Phone,Address\r\n"; //header
while($row = mysql_fetch_array($result)){
  echo "\"$row[firstname]\",\"$row[lastname]\",\"$row[email]\",\"$row[phone]\",\"$row[address]\"\r\n";
} 但是如果你只是想创建一个文件,你可以使用如下代码:
$fp = fopen('file.csv', 'w');
while($row = mysql_fetch_array($result)){
   fputcsv($fp, $row);
}
fclose($fp);https://stackoverflow.com/questions/11659770
复制相似问题