2014-01-20 181 views
0

我能够将数据库导出到csv,但我的代码以某种方式将数据导入到我的csv文件的两倍。我同一列两次并排。这是我的代码。我认为我的问题在于内部爆发。任何帮助,将不胜感激。使用php将数据从数据库导出到csv文件

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

或者

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

更多详细信息:

<?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); 

    ?> 
+0

”将两倍的数据导入到我的csv文件“或”将数据导入到我的数据库两倍“? –

+0

将数据从sqlite 3导出到csv ..但是相反,它导出两次('Id','ID','CompanyId','comapnayID','DateTime','datetime','serial','Serial' – preethi

+0

Can你只需将paste输出CSV数据复制到pastebin.com? –

回答

0

你在你的代码fetchArray()有轻微的概率返回两个阵列设置一个关联和一个编号,使用fetchArray(SQLITE3_NUM)或fetchArray(SQLITE3_ASSOC)。 “

相关问题