我的代码无法将Excel文件中的数据导入phpMySql。我花了很多时间来找到错误,但我不能,所以请,任何人都可以帮我度过这段不愉快的时光
运行此代码后,网络浏览器显示没有错误,但是当我访问我的phpMyAdmin时,没有任何数据来自Excel。
使用example.php
<?php
include ("PHPExcel/IOFactory.php");
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "dashboard_db";
$tbname_act = "average_cycle_time";
$inputFileType = 'Excel2007';
$inputFileName = 'example.xlsx';
$sheetnames = 'ACT' ;
$connect = mysqli_connect($servername, $username, $password, $dbname);
if ($connect -> connect_error){
die ("connection failed: " . $conn -> connect_error);
}
echo "Connection successful ! <br>" ;
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($inputFileName);
$objReader->setLoadSheetsOnly($sheetnames);
$html="<table border='1'>";
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet)
{
$highestRow = $worksheet->getHighestRow();
for ($row=2; $row<=$highestRow; $row++)
{
$html.="<tr>";
$TruckID = mysqli_real_escape_string($connect, $worksheet- >getCellByColumnAndRow(0, $row)->getValue());
$Date = mysqli_real_escape_string($connect, $worksheet->getCellByColumnAndRow(1, $row)->getValue());
$ArrivalTime = mysqli_real_escape_string($connect, $worksheet->getCellByColumnAndRow(2, $row)->getValue());
$DepartTime = mysqli_real_escape_string($connect, $worksheet->getCellByColumnAndRow(3, $row)->getValue());
$sql = "INSERT INTO $tbname_act(excel_TruckID, excel_Date, excel_ArrivalTime, excel_DepartTime)
VALUES ('".$TruckID."', '".$Date."', '".$ArrivalTime."', '".$DepartTime."')";
mysqli_query($connect, $sql);
$html.= '<td>'.$TruckID.'</td>';
$html .= '<td>'.$Date.'</td>';
$html .= '<td>'.$ArrivalTime.'</td>';
$html .= '<td>'.$DepartTime.'</td>';
$html .= "</tr>";
}
}
$html .= '</table>';
echo $html;
echo '<br />Time for calculation of Average Cycle Time ... Inserted !!';
?>
create.sql
CREATE TABLE IF NOT EXISTS `average_cycle_time` (
`TruckID` int(10) NOT NULL,
`Date` date NOT NULL,
`ArrivalTime` timestamp NOT NULL,
`DepartTime` timestamp NOT NULL,
PRIMARY KEY (`TruckID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;
答案 0 :(得分:0)
您的sql查询可能不正确。您可以通过显示$ sql的值然后从Phpmyadmin运行sql查询来调试sql查询