From d2edc09737a41ec0fc8b569ec7b349f8102c1830 Mon Sep 17 00:00:00 2001 From: Felipe Pena Date: Mon, 3 Nov 2008 20:45:43 +0000 Subject: [PATCH] - Fixed endless loop in PDOStatement::debugDumpParams() patch by: Jonah H. Harris --- ext/pdo/pdo_stmt.c | 1 + ext/pdo_sqlite/tests/debugdumpparams_001.phpt | 31 +++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 ext/pdo_sqlite/tests/debugdumpparams_001.phpt diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index 3f95552f4f..bfdd026cda 100755 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -2211,6 +2211,7 @@ static PHP_METHOD(PDOStatement, debugDumpParams) param->is_param, param->param_type); + zend_hash_move_forward_ex(stmt->bound_params, &pos); } } diff --git a/ext/pdo_sqlite/tests/debugdumpparams_001.phpt b/ext/pdo_sqlite/tests/debugdumpparams_001.phpt new file mode 100644 index 0000000000..d85784a4f1 --- /dev/null +++ b/ext/pdo_sqlite/tests/debugdumpparams_001.phpt @@ -0,0 +1,31 @@ +--TEST-- +Testing PDOStatement::debugDumpParams() with bound params +--SKIPIF-- + +--FILE-- +prepare('select :a, :b'); +$x->bindValue(':a', 1, PDO::PARAM_INT); +$x->bindValue(':b', 'foo'); +var_dump($x->debugDumpParams()); + +?> +--EXPECT-- +SQL: [13] select :a, :b +Params: 2 +Key: Position #0: +paramno=-1 +name=[2] :a +is_param=1 +param_type=1 +Key: Position #0: +paramno=-1 +name=[2] :b +is_param=1 +param_type=2 +NULL -- 2.50.1