summaryrefslogtreecommitdiff
path: root/ext/mysqli/mysqli_api.c
diff options
context:
space:
mode:
authorGeorg Richter <georg@php.net>2004-03-16 21:43:25 +0000
committerGeorg Richter <georg@php.net>2004-03-16 21:43:25 +0000
commite3077eadef60213c9a1e1de425f5da7ed6366f60 (patch)
tree759f7e19a480fd5a5f5d9c92137038a78b52f954 /ext/mysqli/mysqli_api.c
parentf66c62cef8d3ba4ff3fdd26e63f63819618e207b (diff)
downloadphp-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.c23
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)