3

ADODB を使用してデータベースに接続しています。クエリを送信した後、最後に挿入された行の ID を (挿入したばかりのクエリから) 取得したいと考えています。

ADODBには、これを取得する必要があるInsert_ID()関数がありますが、そうではありません...
db->Insert_ID()
動作していません。
db->Insert_ID($table, $key)

どちらも空の値を返すだけです。テーブルを再確認したところ、insert ステートメントは実際に機能しており、新しい行が挿入されており、キーは auto_increment です。Insert_ID を間違って使用していますか、または最後に挿入された行のキーを取得するためのより良い方法はありますか?

ありがとう

編集:コードの追加

    $result = \PSU::db->Execute( $updateSQL, $values_array );
    $id = \PSU::db->Insert_ID();
    // $id = \PSU::db->Insert_ID( $table, $key );

\PSU::db は ADODB 実装クラスで、接続、切断などを処理します。

4

2 に答える 2

0

これを試して:

$result = \PSU::db->Execute( $updateSQL, $values_array );

return \PSU::db->_connectionID->insert_id ;

_connectionID はそのまま固定する必要があります。

それが役に立てば幸い!

于 2014-08-19T22:01:40.593 に答える
0

クエリと insert_id() の間で mysql を切断して再接続している可能性はありますか?

于 2012-02-03T17:53:12.740 に答える