diff options
| author | Ard Biesheuvel <abies@php.net> | 2004-06-12 02:35:34 +0000 |
|---|---|---|
| committer | Ard Biesheuvel <abies@php.net> | 2004-06-12 02:35:34 +0000 |
| commit | 50ac5db2b410de9b9faadaed786929d48b189571 (patch) | |
| tree | 27c4cbd8e89517abc2f203b2dcc6b1c76a5ff305 /ext/pdo/pdo_stmt.c | |
| parent | 1e3854597cbbc8d91ce5904643f0cc04a55327a8 (diff) | |
| download | php-git-50ac5db2b410de9b9faadaed786929d48b189571.tar.gz | |
Added double param type
Added param struct initialiser
Reversed param parsing order (long <=> string)
Diffstat (limited to 'ext/pdo/pdo_stmt.c')
| -rwxr-xr-x | ext/pdo/pdo_stmt.c | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index 9992633319..e34ffe0a3a 100755 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -377,6 +377,16 @@ static inline void fetch_value(pdo_stmt_t *stmt, zval *dest, int colno TSRMLS_DC ZVAL_STRINGL(dest, value, value_len, 1); break; } + case PDO_PARAM_INT: + if (value) { + ZVAL_LONG(dest, *(long*)value); + break; + } + case PDO_PARAM_DBL: + if (value) { + ZVAL_DOUBLE(dest, *(double*)value); + break; + } default: ZVAL_NULL(dest); } @@ -548,18 +558,16 @@ static PHP_METHOD(PDOStatement, fetchAll) static int register_bound_param(INTERNAL_FUNCTION_PARAMETERS, pdo_stmt_t *stmt, int is_param) { - struct pdo_bound_param_data param = {0}; + struct pdo_bound_param_data param = PDO_BOUND_PARAM_INIT; - param.paramno = -1; param.param_type = PDO_PARAM_STR; - if (FAILURE == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, - ZEND_NUM_ARGS() TSRMLS_CC, "sz|llz!", - ¶m.name, ¶m.namelen, ¶m.parameter, ¶m.param_type, - ¶m.max_value_len, + if (FAILURE == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, + "lz|llz!", ¶m.paramno, ¶m.parameter, ¶m.param_type, ¶m.max_value_len, + ¶m.driver_params)) { + if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sz|llz!", ¶m.name, + ¶m.namelen, ¶m.parameter, ¶m.param_type, ¶m.max_value_len, ¶m.driver_params)) { - if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lz|llz!", ¶m.paramno, - ¶m.parameter, ¶m.param_type, ¶m.max_value_len, ¶m.driver_params)) { return 0; } } |
