0

重複の可能性:
PHP: テーブルの最後に挿入された ID を取得する方法は?

フォームを作成し、2 つのテーブルにデータを書き込みたい。

$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 に答える