diff --git a/source/shared/core_sqlsrv.h b/source/shared/core_sqlsrv.h index 530d41a6..cfb1efc2 100644 --- a/source/shared/core_sqlsrv.h +++ b/source/shared/core_sqlsrv.h @@ -2041,7 +2041,6 @@ namespace core { SQLSMALLINT num_cols; r = ::SQLNumResultCols( stmt->handle(), &num_cols ); - CHECK_SQL_ERROR_OR_WARNING( r, stmt ) { throw CoreException(); } diff --git a/test/pdo_sqlsrv/pdo_336_pho_exec_empty_result_set_error.phpt b/test/pdo_sqlsrv/pdo_336_pho_exec_empty_result_set_error.phpt index 322b9ba9..9a6bb61f 100644 --- a/test/pdo_sqlsrv/pdo_336_pho_exec_empty_result_set_error.phpt +++ b/test/pdo_sqlsrv/pdo_336_pho_exec_empty_result_set_error.phpt @@ -25,17 +25,27 @@ $stmt = $conn->prepare($sql); $stmt->execute(); if ($conn->errorCode() == "00000") echo "prepare OK\n"; +else + echo "unexpected error at prepare"; //test prepare, with args $stmt = $conn->prepare($sqlWithParameter); $stmt->execute(array(':id' => $sqlParameter)); if ($conn->errorCode() == "00000") echo "prepare with args OK\n"; +else + echo "unexpected error at prepare with args"; //test direct exec $stmt = $conn->exec($sql); -if ($conn->errorCode() == "00000") +$err = $conn->errorCode(); +if ($stmt == 0 && $err == "00000") echo "direct exec OK\n"; +else + if ($stmt != 0) + echo "unexpected row returned at direct exec\n"; + if ($err != "00000") + echo "unexpected error at direct exec"; $Statement = $conn->exec("IF OBJECT_ID('foo_table', 'U') IS NOT NULL DROP TABLE foo_table");