1

我正在使用 SELECT 从 MySQL 中检索某些项目。在获取语句时,我想获取每个返回的行并将某些信息从中移动到不同的表中。

$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()。但是,我可以$info在 while 循环中填充一个数组,然后使用相同的数据库代码将数组中的信息插入到另一个表中。但是,阵列可能会变得太大并导致内存问题。

4

1 回答 1

3

好吧,你通常会bind_param进入循环。但是您可能可以在一个查询中做到这一点:

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