<?php $input = fopen('data.csv', 'r'); $output = fopen('output.csv', 'w'); $pdo = new PDO('sqlite:db.sqlite'); if (false === $pdo->exec('create table if not exists foo (bar varchar, baz varchar)')) { print_r($pdo->errorInfo()); exit(1); } if (false === ($stmt = $pdo->prepare('insert into foo (bar, baz) values (? , ?)'))) { print_r($pdo->errorInfo()); exit(1); } while ($row = fgetcsv($input, 0, ';')) { $result = $stmt->execute($row); if ($result) { fputcsv($output, array_merge($row, ['OK'])); } else { fputcsv($output, array_merge($row, [$stmt->errorCode()])); } } fclose($output); fclose($input);