CodeIgniter のアクティブ レコードでデータを挿入した後に自動インクリメントされる ID を取得するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-04 21:24:02
オリジナル
241 人が閲覧しました

How to Get the Auto-Incremented ID After Inserting Data with CodeIgniter's Active Record?

CodeIgniter アクティブ レコードでの挿入クエリ後に自動インクリメントされた ID を取得する方法

データベース操作に CodeIgniter のアクティブ レコード ライブラリを使用する場合、挿入操作では、最後に挿入された自動インクリメント ID を取得する必要がある場合があります。この記事では、これを実現する可能な方法を検討します。

問題

CodeIgniter アプリケーションで、Active Record の insert() メソッドを使用して MySQL テーブルにデータを挿入しようとしました。モデル。ただし、コードは予期した自動インクリメント ID を返しません。

解決策

最後に挿入された自動インクリメント ID を取得するには、次の手順に従います。

  1. 最初に挿入操作を実行するようにモデルを更新し、その後すぐに ID を取得します。
<code class="php">function add_post($post_data){
   $this->db->insert('posts', $post_data);
   $insert_id = $this->db->insert_id();

   return  $insert_id;
}</code>
ログイン後にコピー
  1. トランザクション内で複数の挿入を実行する必要がある場合は、操作を trans_start() と trans_complete() で囲みます。
<code class="php">$this->db->trans_start();
$this->db->insert('posts', $post_data);
$insert_id = $this->db->insert_id();
$this->db->trans_complete();

return  $insert_id;</code>
ログイン後にコピー

さらなる考慮事項

  • CodeIgniter の insert_id() メソッドが 0 を返す場合、挿入は成功しませんでした。
  • データベース テーブルに自動インクリメント列がない場合、insert_id() は 0 を返します。

以上がCodeIgniter のアクティブ レコードでデータを挿入した後に自動インクリメントされる ID を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート