diff options
Diffstat (limited to 'ext/mysqli/mysqli_api.c')
-rw-r--r-- | ext/mysqli/mysqli_api.c | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/ext/mysqli/mysqli_api.c b/ext/mysqli/mysqli_api.c index 5749afdd33..f5b6221be2 100644 --- a/ext/mysqli/mysqli_api.c +++ b/ext/mysqli/mysqli_api.c @@ -454,7 +454,7 @@ PHP_FUNCTION(mysqli_commit) } /* }}} */ -/* {{{ proto void mysqli_data_seek(object result) +/* {{{ proto void mysqli_data_seek(object result, int offset) Move internal result pointer */ PHP_FUNCTION(mysqli_data_seek) { @@ -464,7 +464,7 @@ PHP_FUNCTION(mysqli_data_seek) PR_COMMAND *prcommand; long offset; - if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Orl", &mysql_result, mysqli_result_class_entry, &mysql_result, &offset) == FAILURE) { + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Ol", &mysql_result, mysqli_result_class_entry, &offset) == FAILURE) { return; } @@ -1674,6 +1674,27 @@ PHP_FUNCTION(mysqli_stmt_close) } /* }}} */ +/* {{{ proto void mysqli_stmt_data_seek(object stmt, int offset) + Move internal result pointer */ +PHP_FUNCTION(mysqli_stmt_data_seek) +{ + STMT *stmt; + zval *mysql_stmt; + PR_STMT *prstmt; + long offset; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Ol", &mysql_stmt, mysqli_stmt_class_entry, &offset) == FAILURE) { + return; + } + + MYSQLI_FETCH_RESOURCE(stmt, STMT *, prstmt, PR_STMT *, &mysql_stmt, "mysqli_stmt"); + + + mysql_stmt_data_seek(stmt->stmt, offset); + return; +} +/* }}} */ + /* {{{ proto mixed mysqli_stmt_num_rows(object stmt) Return the number of rows in statements result set */ PHP_FUNCTION(mysqli_stmt_num_rows) |