1

MySQL から特定のアイテムを取得するために SELECT を使用しています。ステートメントのフェッチ中に、返された各行を取得し、そこから特定の情報を別のテーブルに移動したいと考えています。

$stmt = $mysqli->prepare("SELECT info FROM table");
$stmt->execute();
$stmt->bind_result($info);

$stmt2 = $mysqli->prepare("INSERT INTO another_table (info) VALUES (?)");
$stmt2->bind_param('s', $info);

while ($stmt->fetch()) {

    //$info is different for each loop
    $stmt2->execute();

}

これは動作しません。の後は何も起こりません$stmt2->bind_param()。ただし、$infowhile ループで配列にデータを入力し、その後、まったく同じデータベース コードを使用して、配列から他のテーブルに情報を挿入することができます。ただし、配列が大きくなりすぎてメモリの問題が発生する可能性があります。

4

1 に答える 1

3

bind_paramまあ、通常はループに入れます。しかし、おそらく 1 つのクエリでそれを行うことができます。

INSERT INTO another_table(info) SELECT info FROM table;
于 2013-06-25T22:38:42.517 に答える