我正在尝试使用phpexcel从excel电子表格更新数据库。一切似乎都正常运行,但数据库仍然是空的。
这是我的代码:
<?php
$con=mysqli_connect("localhost","root","password","PIX");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
echo $con->host_info . "\n<br><br";
/** PHPExcel_IOFactory */
require_once dirname(__FILE__) . '/Classes/PHPExcel/IOFactory.php';
$fileName = "Highlights.xls";
$objReader = PHPExcel_IOFactory::createReaderForFile($fileName);
$objReader->setReadDataOnly();
$objPHPExcel = $objReader->load($fileName);
$allDataInSheet = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
$arrayCount = count($allDataInSheet); // Total Number of rows in the uploaded EXCEL file
echo $arrayCount."<br>";
for($i=1;$i<=$arrayCount;$i++){
$string = '"'."INSERT INTO data (`pixName`) VALUES ";
$pixName= trim($allDataInSheet[$i]["A"]);
$string .= "('".$pixName."')".'"';
echo $string."<br>";
mysqli_query ($con, $string);
}
mysqli_close($con);
?>
现在,我发现它很奇怪,因为我检查了$ string的值,它应该是它应该是:
“INSERT INTO data(pixName)VALUES('20091202tbg001')”
我没有任何错误消息,但我的数据库中没有任何内容。 我在这里看不到什么?
非常感谢您的时间。
答案 0 :(得分:0)
请尝试以下方法:
for($i=1;$i<=$arrayCount;$i++){
$string = "INSERT INTO data (`pixName`) VALUES ";
$pixName= trim($allDataInSheet[$i]["A"]);
$string .= "('".$pixName."')";
echo $string."<br>";
mysqli_query ($con, $string);
}
您的错误是在此查询中添加“(双引号)
答案 1 :(得分:0)
您无需添加&#34; ...&#34;查询中的引号。只需将其删除并检查
即可for($i=1;$i<=$arrayCount;$i++){
$string = "INSERT INTO data (`pixName`) VALUES "; // Removed quotes
$pixName= trim($allDataInSheet[$i]["A"]);
$string .= "('".$pixName."')"; // Removed quotes
echo $string."<br>";
mysqli_query ($con, $string);
}