前提・実現したいこと
はじめまして。独学でphpを学びながら、業務系のアプリを作っている初心者です。
お手数ですがご教授ください。
以下のようなsuperというDBがあったとします。
category | name |
---|---|
雑貨 | まな板 |
雑貨 | 包丁 |
雑貨 | のこぎり |
青果 | トマト |
青果 | ニンジン |
青果 | 大根 |
青果 | 玉ねぎ |
青果 | 白菜 |
青果 | キャベツ |
この中から青果だけを抜き出して、yaoyaというDBに引越しするとします。
それで青果で抽出してwhileでループしてINSERT文を書き出したのですが、echo<<<EOFで表示すると複数レコード抽出できるのにそれを変数に入れようとすると1レコードになってしまいます。
このようなケースではどのように対処したら良いでしょうか?
発生している問題・エラーメッセージ
INSERT INTO shouhin (category,name) VALUES ('青果','トマト');INSERT INTO shouhin (category,name) VALUES ('青果','ニンジン');INSERT INTO shouhin (category,name) VALUES ('青果','大根');INSERT INTO shouhin (category,name) VALUES ('青果','玉ねぎ');INSERT INTO shouhin (category,name) VALUES ('青果','白菜');INSERT INTO shouhin (category,name) VALUES ('青果','キャベツ'); ここから$aaa001です。INSERT INTO shouhin (category,name) VALUES ('青果','キャベツ');
該当のソースコード
php
1<?php 2$db = new PDO('sqlite:super.db'); 3$sql = "SELECT category,name FROM shouhin WHERE category = '青果'"; 4$LIST = $db->prepare($sql); 5$LIST->execute(); 6while($row = $LIST -> fetch(PDO::FETCH_ASSOC)){ 7$category = $row["category"]; 8$name = $row["name"]; 9 10$aaa001=<<<EOF 11INSERT INTO shouhin (category,name) VALUES ('{$category}','{$name}'); 12EOF; 13 14echo<<<EOF 15INSERT INTO shouhin (category,name) VALUES ('{$category}','{$name}'); 16EOF; 17} 18echo '<br><br><br>ここから$aaa001です。'; 19echo $aaa001; 20 21?>
試したこと
formに書き出して他のスクリプトにPOSTしようとした場合も1レコードになってしまいました。
補足情報(FW/ツールのバージョンなど)
実行環境は以下の通りです。
- Apache/2.4.29(XAMPP)
- PHP Version 7.0.27
- SQLite Library 3.14.2
- WindowsServer2012 R2
以上宜しくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/07 00:19
2019/05/07 00:21
2019/05/07 00:25
2019/05/07 07:31
2019/05/07 07:37