1. ホーム
  2. wordpress

[解決済み] WordPressのデータベースから最後に挿入された行のIDを取得する方法は?

2022-05-18 06:51:44

質問

私のWordPressプラグインでは、テーブルの中に AUTO_INCREMENT という主キーフィールドがあります。新しい行がテーブルに挿入されたとき、私は挿入のID値を取得したいと思います。

特徴は、AJAXを使ってサーバーにデータをポストし、DBに挿入することです。新しい行の ID は、クライアントの状態を更新するために AJAX 応答で返されます。複数のクライアントが同時にサーバーにデータを投稿している可能性があります。だから、私は各AJAX要求が応答で正確な新しい行IDを得ることを確認する必要があります。

PHPでは mysql_insert_id しかし、レースコンディションで有効なのは、引数が リンク識別子 を指定します。私のデータベースに対する操作は、$wpdbに対するものです。を抽出する方法 リンク識別子 を $wpdb から取得して、mysql_insert_id が動作することを確認しますか?最後に挿入された行のIDを$wpdbから取得する他の方法はありますか?

ありがとうございます。

どのように解決するのですか?

の直後に $wpdb->insert() の直後に、これを実行します。

$lastid = $wpdb->insert_id;

WordPressの方法についての詳細は、WordPress codexに記載されています。上記の詳細は、こちらの wpdb クラスページ