【发布时间】:2020-07-23 09:54:53
【问题描述】:
我想将我的 csv 上传文件的第 1 行放入表 tab1........ 并将第 2 行放入表 tab2
我试过了:
$myid = 231;
if (isset($_POST["submit"])) {
$file = $_FILES['file']['tmp_name'];
if (($handle = fopen($file, "r")) !== FALSE) {
$row = 0;
while (($data = fgetcsv($handle, 100000, ",")) !== FALSE) {
if ($row == 1) {
$row++;
continue;
}
$row++;
foreach (['tab1', 'tab2'] as $table) {
$stmt = $pdo->prepare("UPDATE $table SET fname=?, lname=? WHERE id=?");
$stmt->execute([$data[0], $data[1], $myid]);
}
}
fclose($handle);
}
}
【问题讨论】:
-
在您的代码中什么不起作用?你有错误吗?您是否尝试过打印您创建的语句?对吗?
-
是的,错误是两个表都只获取了csv的最后一个文件
-
倒数最后一行。
-
if ($row == 1) ....$row 递增后,在下一个循环中再次递增,这是你认为应该做的吗? -
是的,每次只能插入一行@Luuk