diff options
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | ext/mysqli/mysqli_api.c | 20 |
2 files changed, 14 insertions, 8 deletions
@@ -11,6 +11,8 @@ PHP NEWS - Fixed a bug in mysqli_stmt_execute() (type conversion with NULL values). (Georg) - Fixed segfault in mysqli_fetch_field_direct() when invalid field offset is passed. (Tony) +- Fixed bug #31710 (Wrong return values for mysqli_autocommit/commit/rollback). + (Georg) - Fixed bug #31684 (dio_tcsetattr(): misconfigured termios settings). (elod at itfais dot com) - Fixed bug #31699 (unserialize() float problem on non-English locales). (Ilia) diff --git a/ext/mysqli/mysqli_api.c b/ext/mysqli/mysqli_api.c index f403105a92..263b362a28 100644 --- a/ext/mysqli/mysqli_api.c +++ b/ext/mysqli/mysqli_api.c @@ -54,7 +54,6 @@ PHP_FUNCTION(mysqli_autocommit) { MY_MYSQL *mysql; zval *mysql_link; - unsigned long rc; unsigned long automode; if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Ob", &mysql_link, mysqli_link_class_entry, &automode) == FAILURE) { @@ -62,9 +61,10 @@ PHP_FUNCTION(mysqli_autocommit) } MYSQLI_FETCH_RESOURCE(mysql, MY_MYSQL *, &mysql_link, "mysqli_link"); - rc = (long) mysql_autocommit(mysql->mysql, automode); - - RETURN_BOOL(rc); + if (mysql_autocommit(mysql->mysql, automode)) { + RETURN_FALSE; + } + RETURN_TRUE; } /* }}} */ @@ -418,14 +418,15 @@ PHP_FUNCTION(mysqli_commit) { MY_MYSQL *mysql; zval *mysql_link; - ulong rc; if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_link, mysqli_link_class_entry) == FAILURE) { return; } MYSQLI_FETCH_RESOURCE(mysql, MY_MYSQL *, &mysql_link, "mysqli_link"); - rc = mysql_commit(mysql->mysql); - RETURN_BOOL(rc); + if (mysql_commit(mysql->mysql)) { + RETURN_FALSE; + } + RETURN_TRUE; } /* }}} */ @@ -1398,7 +1399,10 @@ PHP_FUNCTION(mysqli_rollback) } MYSQLI_FETCH_RESOURCE(mysql, MY_MYSQL *, &mysql_link, "mysqli_link"); - RETURN_BOOL(mysql_rollback(mysql->mysql)); + if (mysql_rollback(mysql->mysql)) { + RETURN_FALSE; + } + RETURN_TRUE; } /* }}} */ |