]> granicus.if.org Git - php/commitdiff
MFB: Fixed bug #43279 (pg_send_query_params() converts all elements in 'params'
authorIlia Alshanetsky <iliaa@php.net>
Tue, 13 Nov 2007 20:08:17 +0000 (20:08 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Tue, 13 Nov 2007 20:08:17 +0000 (20:08 +0000)
to strings)

ext/pgsql/pgsql.c

index 31c8aeefdeeb2fbbbd1e0201b45b09531fac0c13..5bf6ad999bd94c95a48eff209836a18bd7cbf37d 100644 (file)
@@ -4061,6 +4061,7 @@ PHP_FUNCTION(pg_send_query_params)
                php_error_docref(NULL TSRMLS_CC, E_NOTICE, "There are results on this connection. Call pg_get_result() until it returns FALSE");
        }
 
+       SEPARATE_ZVAL(pv_param_arr);
        zend_hash_internal_pointer_reset(Z_ARRVAL_PP(pv_param_arr));
        num_params = zend_hash_num_elements(Z_ARRVAL_PP(pv_param_arr));
        if (num_params > 0) {
@@ -4075,7 +4076,8 @@ PHP_FUNCTION(pg_send_query_params)
                        }
 
                        otype = (*tmp)->type;
-                       convert_to_string(*tmp);
+                       SEPARATE_ZVAL(tmp);
+                       convert_to_string_ex(tmp);
                        if (Z_TYPE_PP(tmp) != IS_STRING) {
                                php_error_docref(NULL TSRMLS_CC, E_WARNING,"Error converting parameter");
                                _php_pgsql_free_params(params, num_params);