如何将数据插入两个不同的表中?

时间:2008-10-22 14:26:42

标签: php mysql

我有一个表单,其中包含用户详细信息和他们上传的图像。我想将数据写入用户表和图像表,但我很确定只用两个单独的插入语句就无法完成。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:4)

您需要先插入用户,然后执行“SELECT LAST_INSERT_ID()”以检索用户的ID。然后,您可以使用新创建的用户ID在图像表中插入图像。在PHP中,您实际上可以使用mysql_insert_id()来检索新ID。如果你将mysql与InnoDB一起使用,你也可以将插入包装在transaction中,方法是发出BEGIN,然后是INSERT,如果一切都成功添加,则返回COMMIT,如果失败则返回ROLLBACK。

答案 1 :(得分:0)

为什么你很确定无法做到?你试过吗?您插入用户表,然后插入图像表...没有任何问题。

唯一的警告是你应该将插入包装在一个事务中,这样它们就可以作为一个插入并一起成功/失败。

答案 2 :(得分:0)

$rec = mysql_query("insert into userdet values("$id","$username",....)");
if($rec)
  mysql_query("insert into imag values("$id","$imgname",...)");