使用php PDO从数据库导出到csv文件?

时间:2016-06-15 02:57:00

标签: php pdo

我在这里使用pdo从我的数据库导出到csv文件的代码。该文件的下载工作正常,它正常打开但在它打开之前,每次我将它导出到csv文件时总会弹出。我想要的就是摆脱它。

这是弹出式消息

- >您尝试打开的文件格式与文件扩展名不同的格式不同。在打开文件之前验证文件是否已损坏且来自受信任的来源。

- > excel检测到.csv是一个SYLK文件,但无法加载它。文件有错误或不是SYLK文件格式..

user.class.php

public function export($query)
{
$dsn = 'mysql:host=localhost;dbname=survey';
$username = 'root';
$password = '';
$options = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);

try {
$db = new PDO($dsn, $username, $password, $options);
} catch (PDOException $e) {
$error_message = $e->getMessage();

}

header("Content-type: text/csv");
header("Content-Disposition: attachment; filename=REGION V-Survey.csv");
header("Pragma: no-cache");
header("Expires: 0");


try {
   $statement = $db->prepare($query);
   $statement->execute();
   $results = $statement->fetchAll();
   $statement->closeCursor();

   $content = '';
   $title = '';
   foreach ($results as $rs){
       $content .= stripslashes($rs["ID"]). ',';
       $content .= stripslashes($rs["Province"]). ',';
       $content .= stripslashes($rs["Date_Submitted"]). ',';
       $content .= stripslashes($rs["Survey_Number"]). ',';
       $content .= stripslashes($rs["Land_Type"]). ',';
       $content .= stripslashes($rs["C_Size"]). ',';
       $content .= stripslashes($rs["Contractor"]). ',';
       $content .= stripslashes($rs["Module_Number"]). ',';
       $content .= stripslashes($rs["LAD_Target"]). ',';
       $content .= stripslashes($rs["Fund_Year"]). ',';
       $content .= stripslashes($rs["Land_Cat"]). ',';
       $content .= stripslashes($rs["Title_Number"]). ',';
       $content .= stripslashes($rs["W_bal"]). ',';
       $content .= stripslashes($rs["Lot_Number"]). ',';
       $content .= stripslashes($rs["Proj_Number"]). ',';
       $content .= stripslashes($rs["Agency"]). ',';
       $content .= stripslashes($rs["Location"]). ',';
       $content .= stripslashes($rs["Barangay"]). ',';
       $content .= stripslashes($rs["Date_Survey"]). ',';
       $content .= stripslashes($rs["No_Lots"]). ',';
       $content .= stripslashes($rs["Area"]). ',';
       $content .= stripslashes($rs["LO_Name"]). ',';
       $content .= stripslashes($rs["Times_Returned"]). ',';
       $content .= stripslashes($rs["Times_Resubmitted"]). ',';
       $content .= stripslashes($rs["Date_Returned"]). ',';
       $content .= stripslashes($rs["Date_Resubmitted"]). ',';
       $content .= stripslashes($rs["Date_Suspended"]). ',';
       $content .= stripslashes($rs["Date_Completed"]). ',';
       $content .= stripslashes($rs["Station"]). ',';
       $content .= stripslashes($rs["Date_Approved"]). ',';
       $content .= stripslashes($rs["Date_DAR"]). ',';
       $content .= stripslashes($rs["Date_DARPO"]). ',';
       $content .= stripslashes($rs["Cert"]). ',';
       $content .= stripslashes($rs["Remarks"]). ',';
       $content .= stripslashes($rs["Date_Reported"]). ',';
       $content .= "\n";
    }
    $title .= "ID,Province,Date_Submitted,Survey_Number,Land_Type,C_Size,Contractor,Module_Number,LAD_Target,Fund_Year,Land_Cat,Title_Number,W_bal,Lot_Number,Proj_Number,Agency,Location,Barangay,Date_Survey,No_Lots,Area,LO_Name,Times_Returned,Times_Resubmitted,Date_Returned,Date_Resubmitted,Date_Suspended,Date_Completed,Station,Date_Approved,Date_DAR,Date_DARPO,Cert,Remarks,Date_Reported"."\n";
    echo $title;
    echo $content;

} catch (PDOException $e) {
      echo $e->getMessage();
   exit;
}
}

export.php

$query = "SELECT * FROM survey_section";
$crud->export($query);

0 个答案:

没有答案