diff options
| author | Damien Regad <dregad@mantisbt.org> | 2021-03-14 17:46:48 +0100 |
|---|---|---|
| committer | Damien Regad <dregad@mantisbt.org> | 2021-04-11 10:25:50 +0200 |
| commit | 5658dfc9289060f329fd7c3f0590053871a4bd14 (patch) | |
| tree | f11d0f81861c29b2c4898b0129d1821ec418322b /drivers/adodb-mssqlnative.inc.php | |
| parent | 823fda53fc2d1171347ff2cb8308612d4e1abf1a (diff) | |
| download | adodb-5658dfc9289060f329fd7c3f0590053871a4bd14.tar.gz adodb-5658dfc9289060f329fd7c3f0590053871a4bd14.tar.bz2 adodb-5658dfc9289060f329fd7c3f0590053871a4bd14.zip | |
Add loop to get the last result
Server may return more than one row if triggers are involved (see #41).
Diffstat (limited to 'drivers/adodb-mssqlnative.inc.php')
| -rw-r--r-- | drivers/adodb-mssqlnative.inc.php | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/adodb-mssqlnative.inc.php b/drivers/adodb-mssqlnative.inc.php index 7674a154..3b9d905a 100644 --- a/drivers/adodb-mssqlnative.inc.php +++ b/drivers/adodb-mssqlnative.inc.php @@ -648,8 +648,11 @@ class ADODB_mssqlnative extends ADOConnection { if (!$rez) { $rez = false; } elseif ($retrieveLastInsertID) { - // Get the inserted id from the 2nd result - if (sqlsrv_next_result($rez) && sqlsrv_fetch($rez)) { + // Get the inserted id from the last result + // Note: loop is required as server may return more than one row, + // e.g. if triggers are involved (see #41) + while (sqlsrv_next_result($rez)) { + sqlsrv_fetch($rez); $this->lastInsID = sqlsrv_get_field($rez, 0, SQLSRV_PHPTYPE_INT); } } |
