helly Sun Jan 22 23:57:41 2006 UTC Modified files: (Branch: PHP_5_1) /php-src/ext/pdo pdo_stmt.c Log: - MFH http://cvs.php.net/viewcvs.cgi/php-src/ext/pdo/pdo_stmt.c?r1=1.118.2.30&r2=1.118.2.31&diff_format=u Index: php-src/ext/pdo/pdo_stmt.c diff -u php-src/ext/pdo/pdo_stmt.c:1.118.2.30 php-src/ext/pdo/pdo_stmt.c:1.118.2.31 --- php-src/ext/pdo/pdo_stmt.c:1.118.2.30 Sun Jan 1 20:07:41 2006 +++ php-src/ext/pdo/pdo_stmt.c Sun Jan 22 23:57:41 2006 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pdo_stmt.c,v 1.118.2.30 2006/01/01 20:07:41 iliaa Exp $ */ +/* $Id: pdo_stmt.c,v 1.118.2.31 2006/01/22 23:57:41 helly Exp $ */ /* The PDO Statement Handle Class */ @@ -283,7 +283,6 @@ param->stmt = stmt; param->is_param = is_param; - ZVAL_ADDREF(param->parameter); if (param->driver_params) { ZVAL_ADDREF(param->driver_params); } @@ -395,7 +394,6 @@ zval_ptr_dtor(¶m.parameter); RETURN_FALSE; } - zval_ptr_dtor(¶m.parameter); zend_hash_move_forward(Z_ARRVAL_P(input_params)); } @@ -1472,6 +1470,7 @@ return 0; } + ZVAL_ADDREF(param.parameter); return really_register_bound_param(¶m, stmt, is_param TSRMLS_CC); } /* }}} */ @@ -1490,16 +1489,17 @@ if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sz/|l", ¶m.name, ¶m.namelen, ¶m.parameter, ¶m.param_type)) { RETURN_FALSE; - } + } } - + if (param.paramno > 0) { --param.paramno; /* make it zero-based internally */ } else if (!param.name) { pdo_raise_impl_error(stmt->dbh, stmt, "HY093", "Columns/Parameters are 1-based" TSRMLS_CC); RETURN_FALSE; } - + + ZVAL_ADDREF(param.parameter); RETURN_BOOL(really_register_bound_param(¶m, stmt, TRUE TSRMLS_CC)); } /* }}} */ @@ -1657,6 +1657,7 @@ pdo_raise_impl_error(stmt->dbh, stmt, "42P10", "column number must be non-negative" TSRMLS_CC); RETURN_FALSE; } + if (!stmt->methods->get_column_meta) { pdo_raise_impl_error(stmt->dbh, stmt, "IM001", "driver doesn't support meta data" TSRMLS_CC); RETURN_FALSE;
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php