1 回答

TA貢獻1829條經驗 獲得超7個贊
問題是因為要插入到表中的 foreach 循環每次在 while 循環周圍都會插入到兩個表中。僅當 $row==1 且 tab2 為 $row==2 時才插入 tab1。試試這個(未經測試):
$myid = 231;
if (isset($_POST["submit"])) {
$file = $_FILES['file']['tmp_name'];
if (($handle = fopen($file, "r")) !== FALSE) {
$row = 0;
$tables = ['tab1', 'tab2'];
while (($data = fgetcsv($handle)) !== FALSE && $row<3) {
if ($row > 0) {
$stmt = $pdo->prepare("UPDATE ".$tables[$row-1]." SET fname=?, lname=? WHERE id=?");
$stmt->execute([$data[0], $data[1], $myid]);
}
$row++;
}
fclose($handle);
}
}
我創建了兩個表的數組,然后根據行號更新相關表。
當我們達到 2 行時,我還添加了一個中斷,以防 CSV 的行數超出您的預期。
- 1 回答
- 0 關注
- 135 瀏覽
添加回答
舉報