From 07e11dcc4d9be59a364530d24d302a5634321791 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Sun, 30 Apr 2006 01:27:33 +0000 Subject: [PATCH] Fix #36632 --- NEWS | 1 + ext/pdo_odbc/odbc_driver.c | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/NEWS b/NEWS index 353e1d5985e75..44250a0a78bfb 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,7 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2006, PHP 5.2.0 - Fixed bug #35552 (crash when pdo_odbc prepare fails). (Wez). +- Fixed bug #36632 (bad error reporting for pdo_odbc exec UPDATE). (Wez). 28 Apr 2006, PHP 5.1.3 - Updated bundled PCRE library to version 6.6. (Andrei) diff --git a/ext/pdo_odbc/odbc_driver.c b/ext/pdo_odbc/odbc_driver.c index 8309b23a5abc1..5585cecf381f6 100755 --- a/ext/pdo_odbc/odbc_driver.c +++ b/ext/pdo_odbc/odbc_driver.c @@ -234,6 +234,14 @@ static long odbc_handle_doer(pdo_dbh_t *dbh, const char *sql, long sql_len TSRML rc = SQLExecDirect(stmt, (char *)sql, sql_len); + if (rc == SQL_NO_DATA) { + /* If SQLExecDirect executes a searched update or delete statement that + * does not affect any rows at the data source, the call to + * SQLExecDirect returns SQL_NO_DATA. */ + row_count = 0; + goto out; + } + if (rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO) { pdo_odbc_doer_error("SQLExecDirect"); goto out;