在数据库表之间移动对象

时间:2013-06-25 22:36:27

标签: php mysql sql

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

1 个答案:

答案 0 :(得分:3)

嗯,你通常把bind_param放在循环中。但是您可能只能在一个查询中执行此操作:

INSERT INTO another_table(info) SELECT info FROM table;