summaryrefslogtreecommitdiff
path: root/drivers/adodb-mssqlnative.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/adodb-mssqlnative.inc.php')
-rw-r--r--drivers/adodb-mssqlnative.inc.php7
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);
}
}