EC2上のcsvファイルのデータ(lineidとusernamme)をPHPでRDSにインサートしてるのですが、
baindvalueの使い方が正しいか確認させて頂きたいです。
前提としてcsvファイルの読み取りは完了していて、デバックで中身も確認済みです。
$file[0]にlineidが$file[1]にusernameが入ってます。
DBへの接続も完了しています。
また、コードを実行すると
「PHP Parse error: syntax error, unexpected end of file in /home/ec2-user/index.php on
line 40」と帰って来てしまいます。
調べて使って見たは良いものの使いこなせない現状です。
bindvalueの第2引く数には入れたい値が格納されてる変数を設置すると言う認識で正しいでしょうか?
アドバイス頂けると幸いです。
CSVファイルの読み取り try { $file = new SplFileObject('/tmp/winneyuser.csv'); $file->setFlags(SplFileObject::READ_CSV); }catch (RuntimeException $e) { throw $e; } コード
DB接続 try{ $pdo = new PDO( 'mysql:host=*******, '*********', '***********', [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, ]); } catch(PDOException $e) { header('Content-Type: text/plain; charset=UTF-8', true, 500); exit($e->getMessage()); } header('Content-Type: text/html; charset=utf-8');
bindvalueによるDBへのインポート $line_id = $file[0]; $username = $file[1]; foreach($file as $files) { $stmt = $pdo->prepare("INSERT INTO users (line_id, name) VALUES (:lineid,:username)"); $stmt = $pdo->prepare($sql); $stmt->bindValue(':line_id', $line_id, PDO::PARAM_STR); $stmt->bindValue(':username', $username, PDO::PARAM_STR); $stmt->execute(); $pdo->commit(); }
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/03 01:16
2019/12/03 02:00
2019/12/03 04:16
2019/12/03 05:06
2019/12/03 05:19
2019/12/03 05:33