2

私はCodeigniterを初めて使用します。

これが私のテーブルです:

request_id | login_name | login_password | reg_date | 状態

$this->db->insert_id()プライマリ自動インクリメント列名がではrequest_idなく、最後に挿入されたIDを取得するために使用できますidか?

どんな助けでもありがたいです。

4

3 に答える 3

6

はい、insert_idMySQLiでは列名は関係ありません。列がAUTO_INCREMENTであるだけです。戻ります。

前のクエリによって更新されたAUTO_INCREMENTフィールドの値。接続に以前のクエリがなかった場合、またはクエリがAUTO_INCREMENT値を更新しなかった場合は、ゼロを返します。

于 2013-01-24T05:29:38.433 に答える
1

はい、使用できます。

$this->db->insert_id()最後に挿入されたレコードのIDが表示されるため、メソッド名を変更する必要はありません。

ここを参照してください

于 2013-01-24T05:30:14.430 に答える
1

はい、$this->db->insert_id() を使用すると、テーブルに最後に挿入されたレコードの ID を取得できます。
このような :

     <?php    
    class InsertRecord extends CI_Model {
    var $tablename = "test_table";
    var $primaryID = "request_id";

        function insertRecord(){
             $insertArr['login_name'] = $_POST['login_name'];
             $insertArr['login_password'] = $_POST['login_password'];
             $insertArr['reg_date'] = $_POST['reg_date'];       
             $insertArr['status'] = $_POST['status'];
             if ($this->db->insert($this->tablename, $insertArr)) {
                $lastInsertedID = $this->db->insert_id();
             }
        }
     }
    ?>

$lastInsertedID 変数では、最後に挿入されたレコードの ID を取得します。

これがあなたを助けることを願っています... :)

于 2013-01-24T05:35:21.917 に答える