Something like this, maybe....
BEFORE
TABLE: stockid; TABLE: product
+----+ (empty)
| id |
+----+
| 1 |
| 2 |
| 3 |
+----+
CSV DATA
------------------------
"A1","A2","A3","A4","A5"
"B1","B2","B3","B4","B5"
"C1","C2","C3","C4","C5"
RUN CODE
$fp = fopen('products.csv', 'r');
// prepare product insert query
$stmt = $pdo->prepare("INSERT INTO product (stock_id, prod_name) VALUES (?, ?)");
while ($row = fgetcsv($fp)) {
$pdo->exec("INSERT INTO stockid (id) VALUES (NULL)");
$stock_id = $pdo->lastInsertId(); // get next stock id
foreach ($row as $prod) {
$stmt->execute([ $stock_id, $prod ]);
}
}
fclose($fp);
AFTER
TABLE: stockid; TABLE: product
+----+ +----+----------+-----------+
| id | | id | stock_id | prod_name |
+----+ +----+----------+-----------+
| 1 | | 1 | 4 | A1 |
| 2 | | 2 | 4 | A2 |
| 3 | | 3 | 4 | A3 |
| 4 | | 4 | 4 | A4 |
| 5 | | 5 | 4 | A5 |
| 6 | | 6 | 5 | B1 |
+----+ | 7 | 5 | B2 |
| 8 | 5 | B3 |
| 9 | 5 | B4 |
| 10 | 5 | B5 |
| 11 | 6 | C1 |
| 12 | 6 | C2 |
| 13 | 6 | C3 |
| 14 | 6 | C4 |
| 15 | 6 | C5 |
+----+----------+-----------+