CSVファイルで以下のようなものがあったとします。
foo1,foo2,foo3 bar1,bar2,bar3
これをデータベースに登録したくて、以下のようなコードを書いてみたんですが
<?php $file = new SplFileObject('test.csv'); $file->setFlags(SplFileObject::READ_CSV); $dsn='mysql:dbname=test_csv;host=localhost'; $user='root'; $password=''; $dbh=new PDO($dsn,$user,$password); $dbh->query('SET NAMES utf8'); foreach ( $file as $line) { $sql='INSERT INTO csvtest(data1,data2,data3)VALUES(?,?,?)'; $stmt=$dbh->prepare($sql); $data[]=$line[0]; $data[]=$line[1]; $data[]=$line[2]; $stmt->execute($data); $dbh=null; } ?>
上手くいきませんでした。たぶん考え方がそもそも違うのかもしれません。どなたか助言よろしくお願いします。
なお、DBはMYSQLで以下のように設定してます。
ID data1 data2 data3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/09/05 08:18
2016/09/05 08:22 編集
退会済みユーザー
2016/09/05 08:22
2016/09/05 08:25