0
我有一個預建的電子郵件模板表。用戶可以看到他們已經構建的模板的表格,並且可以編輯或刪除它們。我正在構建一個功能,將「複製」添加到他們的選項中。在模板被複制並複製之後,它們將以編輯器的重複值結束,並且該行的id會自動遞增。複製並複製mysql行,php
我一直試圖讓這個查詢工作:
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'
我在DB與自動遞增的ID和一個新行的編輯結束,但列值是空的。
我錯過了什麼。
你可能要考慮的'INSERT INTO ... SELECT'語句將2個查詢合併爲1:http://dev.mysql.com/doc/ refman/5.0/en/insert-select.html – Oldskool
Duplicate:http://stackoverflow.com/questions/4039748/how-do-i-copy-one-row-to-insert-into-the-same-table? rq = 1 – Jocelyn
請不要使用'mysql_ *'函數來編寫新代碼。他們不再維護,社區已經開始[棄用程序](http://goo.gl/KJveJ)。查看[*紅色框*](http://goo.gl/GPmFd)?相反,您應該瞭解[準備好的語句](http://goo.gl/vn8zQ)並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能決定哪些,[這篇文章](http://goo.gl/3gqF9)會幫助你。如果你選擇PDO,[這裏是很好的教程](http://goo.gl/vFWnC)。 –