繁体   English   中英

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

[英]Exporting data from database to csv file using php

我可以将数据库导出到csv,但是我的代码以某种方式将两次数据导入到csv文件中。 即同一列并排两次。这是我的代码。 我认为我的问题在于内向型陈述。 任何帮助,将不胜感激。

<?php

$db = new sqlite3('I:\preethi\webbs.db');

$headers = array

('Id','CompanyId','DateTime','Serial','DeviceId','AgentAId','GpsAddress','Targa','CommonRoadDescription'

,'RoadCivicNumber','VehicleBrandDescription','VehicleModelDescription' ,'VerbaliVehicleTypeDescription','CommonColorVehicleDescription','VerbaliRuleOneCode','VerbaliRuleOneDes

cription','VerbaliRuleOnePoints'  

    ,'VerbaliClosedNoteDescription','Points','VerbaliMissedNotificationDescription 

','MissedNotificationNote','StatementNote');

    $results = $db->query('select'.implode (',',$headers).'from VerbaliData');

    //$results = $db->query( 'select 
Id   ,CompanyId  ,DateTime  ,Serial  ,DeviceId  ,AgentAId  

,GpsAddress  ,Targa  ,CommonRoadDescription  ,RoadCivicNumber  ,VehicleBrandDescription  

,VehicleModelDescription  ,VerbaliVehicleTypeDescription  ,CommonColorVehicleDescription  

,VerbaliRuleOneCode  ,VerbaliRuleOneDescription  ,VerbaliRuleOnePoints  ,VerbaliClosedNoteDescription  

,Points  ,VerbaliMissedNotificationDescription  ,MissedNotificationNote  ,StatementNote  from 

VerbaliData');


    $fp = fopen('explores.csv', 'w');

    fputcsv($fp,$headers);

    while ($row = $results->fetchArray()) {
             fputcsv($fp, $row);
    }

    fclose($fp);

    ?>

只需尝试:

while($row = $results->fetchArray(SQLITE3_NUM)) {

要么

while($row = $results->fetchArray(SQLITE3_ASSOC)) {

更多详细信息: http : //php.net/manual/en/sqlite3result.fetcharray.php

您的代码中有一个小问题fetchArray()返回两个数组集,其中一个是关联数组,另一个是编号数组,请使用fetchArray(SQLITE3_NUM)或fetchArray(SQLITE3_ASSOC)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM