Auto_increment在2个表中

时间:2012-09-25 15:31:23

标签: php mysql forms auto-increment

  

可能重复:
  PHP: how to get last inserted ID of a table?

我制作了一个表单,想要在两个表中写入数据。

$sql = "INSERT INTO ma_forum (notcat_id, usr_id, not_titulo, not_status, not_tags, not_data, not_comentarios, not_resumo, not_texto) 

        VALUES('$categoria', '".$_SESSION[usr_name]."', '$titulo', '$status', '$tags', '".time()."', '$comentarios', '$resumo', '$texto')";

$res = mysql_query($sql) or die(mysql_error());

$sql_or = "INSERT INTO ma_forum_comentarios (comnot_habbo, comnot_data, comnot_status) VALUES('$_SESSION[usr_name]', '".time()."', '$status_comnot')";

$res = mysql_query($sql_or) or die(mysql_error());

但在第一个表中,它会自动写入ID auto_increment。但我想输入第一个表和另一列的ID。有谁知道怎么办?

2 个答案:

答案 0 :(得分:1)

使用php函数mysql_insert_id()检索插入的最后一个id:http://php.net/manual/en/function.mysql-insert-id.php

所以它应该是:

$sql = "INSERT INTO ma_forum (notcat_id, usr_id, not_titulo, not_status, not_tags, not_data, not_comentarios, not_resumo, not_texto) VALUES ('$categoria', '".$_SESSION[usr_name]."', '$titulo', '$status', '$tags', '".time()."', '$comentarios', '$resumo', '$texto')";

$res = mysql_query($sql) or die(mysql_error());

$sql_or = "INSERT INTO ma_forum_comentarios (id, comnot_habbo, comnot_data, comnot_status) VALUES(" . mysql_insert_id() . ",'$_SESSION[usr_name]', '".time()."', '$status_comnot')";

$res = mysql_query($sql_or) or die(mysql_error());

确保将我指定的“id”列替换为您的实际ID列名称。

答案 1 :(得分:0)

mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n", mysql_insert_id());