0

可能重复:
PHP:如何获取最后插入的表 ID?

我做了一个表格,想在两个表中写入数据。

$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。有谁知道该怎么做?

4

2 回答 2

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 列名。

于 2012-09-25T15:33:09.087 回答
0
mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n", mysql_insert_id());
于 2012-09-25T15:33:58.817 回答