diff options
| author | Georg Richter <georg@php.net> | 2004-03-16 21:43:25 +0000 |
|---|---|---|
| committer | Georg Richter <georg@php.net> | 2004-03-16 21:43:25 +0000 |
| commit | e3077eadef60213c9a1e1de425f5da7ed6366f60 (patch) | |
| tree | 759f7e19a480fd5a5f5d9c92137038a78b52f954 /ext/mysqli/mysqli_api.c | |
| parent | f66c62cef8d3ba4ff3fdd26e63f63819618e207b (diff) | |
| download | php-git-e3077eadef60213c9a1e1de425f5da7ed6366f60.tar.gz | |
fixed stmt->stmt->query which was removed in libmysql 4.1.2
added query buffer in internal stmt structure to copy string
after prepare
Diffstat (limited to 'ext/mysqli/mysqli_api.c')
| -rw-r--r-- | ext/mysqli/mysqli_api.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/ext/mysqli/mysqli_api.c b/ext/mysqli/mysqli_api.c index 6a25920f93..d3ad49837a 100644 --- a/ext/mysqli/mysqli_api.c +++ b/ext/mysqli/mysqli_api.c @@ -578,7 +578,7 @@ PHP_FUNCTION(mysqli_stmt_execute) RETURN_FALSE; } if (MyG(report_mode) & MYSQLI_REPORT_INDEX) { - php_mysqli_report_index(stmt->stmt->query, stmt->stmt->mysql->server_status TSRMLS_CC); + php_mysqli_report_index(stmt->query, stmt->stmt->mysql->server_status TSRMLS_CC); } RETURN_TRUE; @@ -1225,6 +1225,8 @@ PHP_FUNCTION(mysqli_prepare) mysqli_resource = (MYSQLI_RESOURCE *)ecalloc (1, sizeof(MYSQLI_RESOURCE)); mysqli_resource->ptr = (void *)stmt; + stmt->query = (query_len) ? (char *)emalloc(query_len + 1) : NULL; + strcpy(stmt->query, query); MYSQLI_RETURN_RESOURCE(mysqli_resource, mysqli_stmt_class_entry); } /* }}} */ @@ -1502,6 +1504,25 @@ PHP_FUNCTION(mysqli_stmt_free_result) return; } /* }}} */ + +/* {{{ proto void mysqli_stmt_reset(object stmt) + reset a prepared statement */ +PHP_FUNCTION(mysqli_stmt_reset) +{ + STMT *stmt; + zval *mysql_stmt; + + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_stmt, mysqli_stmt_class_entry) == FAILURE) { + return; + } + + MYSQLI_FETCH_RESOURCE(stmt, STMT *, &mysql_stmt, "mysqli_stmt"); + + mysql_stmt_reset(stmt->stmt); + + return; +} +/* }}} */ #endif /* {{{ proto mixed mysqli_stmt_num_rows(object stmt) |
