Никаких "последних записей в бд" mysql не существует.
Получить можно только один ид - последней вставленной строки. одной.
Поэтому если нужны айдишники, то вставлять надо по одной.
Весь этот ужас и шаманские пляски с бубном надо переписать
для соединения с бд
function connectDB()
{
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$dbLink = mysqli_connect( DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
$dbLink->set_charset("utf8mb4");
return $dbLink;
}
и сам запрос
$sql = "INSERT INTO product(sku, supplier, quantity, price, status)
VALUES (?, 'supplier', ?, ?, 1)";
$stmt = $db->prepare($sql);
$ids = [];
foreach($xml->products as $product) {
$stmt->bind_param("sss", ...[$product->product_code, $product->stock, $product->price]);
$stmt->execute();
$ids[] = $db->insert_id;
}