電子書籍の厳選無料作品が豊富!

$st = $pdo->query("SELECT * FROM list WHERE tno='" . $_POST["tno"] . "' ");で摘出した複数行のレコードを他のテーブルに保存したいのですが、うまくいきません。よろしくご教授お願い致します。

A 回答 (3件)

sqlの種別によってちがいますが


insert into table_x select * from table_y
的な処理でいけるものもあります
    • good
    • 0
この回答へのお礼

$stmt = $pdo->prepare("insert into reg select * from list WHERE tno='" . $_POST["tno"] . "' ");で解決しました。ありがとうございました。

お礼日時:2013/02/11 10:09

提示されたソースは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']);

補足日時:2013/02/11 09:23
    • good
    • 0

他のテーブルに保存するにも抽出処理しかしてないですよね。


他のソースを載せずに質問を投稿しているのか、このソースで出来ると
思っているのかどちらですかね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!