2

MySQLデータベースに何かを送信し、そのオブジェクトに自動IDが割り当てられた場合、このIDを参照する別のテーブルにデータを送信するにはどうすればよいですか?最初のテーブルが新しいレコードのIDを自動的にインクリメントする場合、送信後にそのテーブルの最大IDを取得するために呼び出しを行うことができますが、複数のユーザーが同じアプリケーションを使用している場合、これはかなりハッキーでエラーが発生しやすいようです。

4

1 に答える 1

0

あなたの投稿は少し不明確ですが、必要だと思うのは です。mysql_insert_id()最後に挿入された行の ID を を使用して返しmysql_queryます。

例:

mysql_query("INSERT INTO `journal_post` (...) VALUES (...)"); //Insert proper code in ...
$pid = mysql_insert_id(); //Contains the ID of the just inserted journal_post
if (...) { //Some check to see if an image was attached
  mysql_query("INSERT INTO `img_details` (...) VALUES (...)");
}

これが意図したものでない場合は、問題を詳しく説明するコード サンプルを提供してください。

于 2012-08-26T22:06:01.887 に答える