- ベストアンサー
複数行のレコードを他のテーブルに保存?
$st = $pdo->query("SELECT * FROM list WHERE tno='" . $_POST["tno"] . "' ");で摘出した複数行のレコードを他のテーブルに保存したいのですが、うまくいきません。よろしくご教授お願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
sqlの種別によってちがいますが insert into table_x select * from table_y 的な処理でいけるものもあります
その他の回答 (2)
- agunuz
- ベストアンサー率65% (288/438)
提示されたソースはqueryメソッドだけなので、そもそも抽出もしていませんよね。 fetchでLoopしながらinsert文のexecute もしくは fetchall → 取得した結果をLoopしながらinsert文のexecute が必要ですが、その部分はどう書かれているんでしょうか?それを提示してもらわないことには何も回答出来ません。
補足
説明不足ですみませんでした。下記です。 $st = $pdo->query("SELECT * FROM list WHERE tno='" . $_POST["tno"] . "' "); while ($row = $st->fetch()) { $tno = htmlspecialchars($row['no']); $id = htmlspecialchars($row['id']); $name = htmlspecialchars($row['name']); $kin = htmlspecialchars($row['kin']); $kazu = htmlspecialchars($row['kazu']); $kei = htmlspecialchars($row['kei']);
- NeilMania
- ベストアンサー率30% (40/131)
他のテーブルに保存するにも抽出処理しかしてないですよね。 他のソースを載せずに質問を投稿しているのか、このソースで出来ると 思っているのかどちらですかね。
お礼
$stmt = $pdo->prepare("insert into reg select * from list WHERE tno='" . $_POST["tno"] . "' ");で解決しました。ありがとうございました。