2017-04-19 89 views
-1

我上傳與5000+行一個Excel/csv文件的和我想用一個表來顯示它,但它示出了一個錯誤:顯示大量數據到表

數據被截斷爲列「PV_Value 「在第1行

下面是Excel中的代碼上傳到數據庫:

for ($row = 2; $row <= $highestRow; $row++) { 

    // Read a row of data into an array 
    $datetime = mysqli_real_escape_string($conn,trim($objPHPExcel->getActiveSheet()->getCell('A' . $row)->getValue())); 
    $MODE_Value = mysqli_real_escape_string($conn,trim($objPHPExcel->getActiveSheet()->getCell('B' . $row)->getValue())); 
    $MV_Value = mysqli_real_escape_string($conn,trim($objPHPExcel->getActiveSheet()->getCell('C' . $row)->getValue())); 
    $PV_Value = mysqli_real_escape_string($conn,trim($objPHPExcel->getActiveSheet()->getCell('D' . $row)->getValue())); 
    $PV_HighEng_Value = mysqli_real_escape_string($conn,trim($objPHPExcel->getActiveSheet()->getCell('E' . $row)->getValue())); 
    $PV_LowEng_Value = mysqli_real_escape_string($conn,trim($objPHPExcel->getActiveSheet()->getCell('F' . $row)->getValue())); 
    $SV_Value = mysqli_real_escape_string($conn,trim($objPHPExcel->getActiveSheet()->getCell('F' . $row)->getValue())); 

    $values = "('$datetime','$MODE_Value','$MV_Value','$PV_Value','$PV_HighEng_Value','$PV_LowEng_Value','$SV_Value')"; 
    if ($values != '') { 
     $sqlInsert = "INSERT into temperature (datetime, MODE_Value, MV_Value,PV_Value, PV_HighEng_Value, PV_LowEng_Value,SV_Value) 
     values('$datetime', '$MODE_Value','$MV_Value','$PV_Value','$PV_HighEng_Value','$PV_LowEng_Value','$SV_Value')"; 
     mysqli_query($conn,$sqlInsert) or die(mysqli_error($conn)); 
    } 

} 

我試着上傳另一個Excel文件,但僅爲25較少行,也沒有這樣的錯誤,數據被正確地顯示在使用下面的代碼表:

<table class="table table-bordered" style="background: white; border-radius: 2px"> 
      <thead> 
        <tr> 
         <th>ID</th> 
         <th>TimeStamp</th> 
         <th>MODE VALUE</th> 
         <th>MV VALUE</th> 
         <th>PV VALUE</th> 
         <th>PV HIGHENG VALUE</th> 
         <th>PV LOWENG VALUE</th> 
         <th>SV VALUE</th> 
        </tr> 
      </thead> 
    </div> 
      <?php 
       $SQLSELECT = "SELECT * FROM temperature"; 
       $result_set = mysqli_query($conn, $SQLSELECT); 
       while($row = mysqli_fetch_array($result_set)) 
       { 
       ?> 
        <tr> 
         <td><?php echo $row['id']; ?></td> 
         <td><?php echo $row['datetime']; ?></td> 
         <td><?php echo $row['MODE_Value']; ?></td> 
         <td><?php echo $row['MV_Value']; ?></td> 
         <td><?php echo $row['PV_Value']; ?></td> 
         <td><?php echo $row['PV_HighEng_Value']; ?></td> 
         <td><?php echo $row['PV_LowEng_Value']; ?></td> 
         <td><?php echo $row['SV_Value']; ?></td> 
        </tr> 
       <?php 
       } 
      ?> 
     </table> 

的,爲什麼錯誤出現我的問題,適合處理大量數據的我的方法?我想要將大量數據輕鬆存儲到數據庫中,並將其顯示在表格中。歡迎任何提示和建議。

+0

您可能想重新考慮5K行的[bigdata]標籤。 – Jeeped

+0

if($ values!=''){'...'$ values'只要包含括號和逗號和引號,就永遠不會是'''' –

+1

文件列中的一些數據與PV_Value列該表比PV_Value列允許的更長。這與所有數據的大小無關,似乎是微不足道的。 –

回答

0

您需要檢查數據庫中PV_Value的字段。這可能是由於給予該字段的數據類型。