From 8be967c239b091ddcddc838e01c44c2c38e1d98a Mon Sep 17 00:00:00 2001 From: Mori Reo Date: Tue, 11 Dec 2012 16:52:29 +0900 Subject: [PATCH] add a import_from_database_via_pdo sample --- example/import_from_database_via_pdo.php | 29 ++++++++++++++++++++++++ example/user.csv | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 example/import_from_database_via_pdo.php diff --git a/example/import_from_database_via_pdo.php b/example/import_from_database_via_pdo.php new file mode 100644 index 0000000..0051193 --- /dev/null +++ b/example/import_from_database_via_pdo.php @@ -0,0 +1,29 @@ +query('CREATE TABLE IF NOT EXISTS user (id INT, `name` VARCHAR(255), email VARCHAR(255))'); + +$config = new LexerConfig(); +$lexer = new Lexer($config); + +$interpreter = new Interpreter(); + +$interpreter->addObserver(function(array $columns) use ($pdo) { + $checkStmt = $pdo->prepare('SELECT count(*) FROM user WHERE id = ?'); + $checkStmt->execute(array(($columns[0]))); + + $count = $checkStmt->fetchAll()[0][0]; + + if ($count === 0) { + $stmt = $pdo->prepare('INSERT INTO user (id, name, email) VALUES (?, ?, ?)'); + $stmt->execute($columns); + } +}); + +$lexer->parse('user.csv', $interpreter); diff --git a/example/user.csv b/example/user.csv index 6ab9331..78031de 100644 --- a/example/user.csv +++ b/example/user.csv @@ -1,3 +1,3 @@ 1,alice,alice@example.com 2,bob,bob@example.com -3,carol,carol@eample.com +3,carol,carol@eample.com \ No newline at end of file