gpt4 book ai didi

php - MySQL 在 for(PHP) 循环中执行 INSERT。 INSERT 仅在第一个循环上运行

转载 作者:行者123 更新时间:2023-11-29 11:02:15 25 4
gpt4 key购买 nike

我有一个代码将 xlsx 上传到 Mysql 表,并且加载是通过 block 完成的,因为文件太大,所以我必须插入每个 block 。 for 循环工作良好,已经使用 echo 语句进行了测试,但 INSERT 仅在第一个 block 中完成。知道如何解决这个问题吗?这是代码的一部分:

for ($startRow = 2; $startRow <= $totalRows; $startRow += $chunkSize) {
$chunkFilter->setRows($startRow,$chunkSize);
//Load of the data
$objPHPExcel = $objReader->load($newFilePath);
$objWorksheet4 = $objPHPExcel -> getSheetByName("MIFReportExport");
//Getting data of every cell
$highestRow4 = $objWorksheet4->getHighestRow();
$highestColumn4 = $objWorksheet4->getHighestColumn();
$highestColumnIndex4 = PHPExcel_Cell::columnIndexFromString($highestColumn4);
$rows = array();
for ($row = 2; $row <= $highestRow4; ++$row) {
for ($col = 0; $col <= $highestColumnIndex4; ++$col) {
$rows[$col] = $objWorksheet4->getCellByColumnAndRow($col, $row)->getCalculatedValue();
}
$result = mysql_query("INSERT INTO fy16 (SerialNumber, BrandedModelName, GenericProductCode, Familia, ProductLineModelFile)VALUES ('".$rows[0]."', '".$rows[1]."', '".$rows[2]."', '".$rows[3]."', '".$rows[4]."', '".$rows[5]."')",$con) or die(mysql_error());

}

}

提前致谢。

最佳答案

首先,您应该看一下 PDO 和准备好的语句。以下是如何创建 MASS 插入查询

$valuesToInsert = [
["firstColumn" => "item1", "secondColumn" => "item1"],
["firstColumn" => "item2", "secondColumn" => "item2"],
["firstColumn" => "item3", "secondColumn" => "item3"],
];

$valuesTab = array_map(function ($tab) { return "({$tab['firstColumn']}, {$tab['secondColumn']})"; },$valuesToInsert);


$query = "INSERT INTO `tableName` (firstColumn, secondColumn) VALUES ". implode(',', $valuesTab);

输出:

INSERT INTO
`tableName` (firstColumn, secondColumn)
VALUES
(item1, item1),(item2, item2),(item3, item3)

关于php - MySQL 在 for(PHP) 循环中执行 INSERT。 INSERT 仅在第一个循环上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42024215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com