复制并复制mysql行,php

时间:2012-10-11 15:49:38

标签: php mysql copy row

我有一个预先构建的电子邮件模板表。用户可以看到包含他们已构建的模板的表格,并可以编辑或删除它们。我正在构建一个功能来添加"复制"他们的选择。复制和复制模板后,它们最终会在具有重复值的编辑器中生成,并且行的ID将自动递增。

我一直试图让这个查询起作用:

if ((isset($_GET['id'])) && ($_GET['id'] != "") && ($_GET['cmd'] = 'copyTemplate')) {

$replicate = mysql_query("SELECT id, name, subject, markup FROM email_templates WHERE id=$old_id;");
$original_record = mysql_fetch_assoc($replicate);

//insert new template
$query = "INSERT INTO email_templates (name, subject, markup) VALUES ('".$original_record['name']."','".$original_record['subject']."','".$original_record['markup']."');";
mysql_query($query);
$newid = mysql_insert_id();

//release results from memory
mysql_free_result($original_record);

//Hop into edit mode for new template
header("Location: communications_templatebuilder.php?id=" . $newid);
}

当我使用'id=%s'而不是'id=$old_id'时,我最终在编辑器中使用自动递增的ID和数据库中的新行,但列值为空。

我错过了什么。

1 个答案:

答案 0 :(得分:-2)

在这里,您将获得原始表的所有记录,并在新表中逐个插入所有注册表。

你好三:

$replicate = mysql_query("SELECT id, name, subject, markup FROM email_templates");
$original_record = mysql_fetch_assoc($replicate);

while($original_record = mysql_fetch_array($replicate)){
    $query = "INSERT INTO email_templates (name, subject, markup) VALUES ('".$original_record['name']."','".$original_record['subject']."','".$original_record['markup']."');";
    mysql_query($query);
}

//release results from memory
mysql_free_result($original_record);