From 636cc3e1dca4dec005eef30c9375c5d25561db77 Mon Sep 17 00:00:00 2001 From: George Schlossnagle Date: Tue, 18 May 2004 05:31:01 +0000 Subject: [PATCH] auto-quote values before binding them in at execute time --- ext/pdo/pdo_stmt.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index 5985422788..ceb67e6799 100755 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -242,6 +242,9 @@ static PHP_METHOD(PDOStatement, execute) zend_hash_internal_pointer_reset(Z_ARRVAL_P(input_params)); while (SUCCESS == zend_hash_get_current_data(Z_ARRVAL_P(input_params), (void*)&tmp)) { + char *quotedstr; + int quotedstrlen; + int refcount; memset(¶m, 0, sizeof(param)); if (HASH_KEY_IS_STRING == zend_hash_get_current_key_ex(Z_ARRVAL_P(input_params), @@ -263,9 +266,13 @@ static PHP_METHOD(PDOStatement, execute) } param.param_type = PDO_PARAM_STR; + stmt->dbh->methods->quoter(stmt->dbh, Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), "edstr, "edstrlen TSRMLS_DC); + refcount = (*tmp)->refcount; + zval_dtor(*tmp); + ZVAL_STRINGL(*tmp, quotedstr, quotedstrlen, 0); + (*tmp)->refcount = refcount; param.parameter = *tmp; - if (!really_register_bound_param(¶m, stmt, 1 TSRMLS_CC)) { RETURN_FALSE; } -- 2.40.0