summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Pena <felipe@php.net>2008-11-05 23:39:09 +0000
committerFelipe Pena <felipe@php.net>2008-11-05 23:39:09 +0000
commit27357e9ce5dc5e67a8400ea146f2e2b5484e6cd9 (patch)
tree3c5ec42770da937cf07da6d0fc358b54dc4d7899
parentfbe5ef781ef5d23cd43ad68c76fb40a51b6eecca (diff)
downloadphp-git-27357e9ce5dc5e67a8400ea146f2e2b5484e6cd9.tar.gz
- Fixed wrong check
- Improved test
-rwxr-xr-xext/pdo/pdo_stmt.c8
-rw-r--r--ext/pdo_sqlite/tests/debugdumpparams_001.phpt20
2 files changed, 17 insertions, 11 deletions
diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c
index e8dd0f70e9..4aa6fbde93 100755
--- a/ext/pdo/pdo_stmt.c
+++ b/ext/pdo/pdo_stmt.c
@@ -2200,14 +2200,14 @@ static PHP_METHOD(PDOStatement, debugDumpParams)
uint len;
ulong num;
- if (zend_hash_get_current_key_ex(stmt->bound_params, &str, &len, &num, 0, &pos) == HASH_KEY_IS_STRING) {
- php_stream_printf(out TSRMLS_CC, "Key: Position #%d:\n", num);
+ if (zend_hash_get_current_key_ex(stmt->bound_params, &str, &len, &num, 0, &pos) == HASH_KEY_IS_LONG) {
+ php_stream_printf(out TSRMLS_CC, "Key: Position #%ld:\n", num);
} else {
php_stream_printf(out TSRMLS_CC, "Key: Name: [%d] %.*s\n", len, len, str);
}
- php_stream_printf(out TSRMLS_CC, "paramno=%d\nname=[%d] %.*s\nis_param=%d\nparam_type=%d\n",
- param->paramno, param->namelen, param->namelen, param->name,
+ php_stream_printf(out TSRMLS_CC, "paramno=%d\nname=[%d] \"%.*s\"\nis_param=%d\nparam_type=%d\n",
+ param->paramno, param->namelen, param->namelen, param->name ? param->name : "",
param->is_param,
param->param_type);
diff --git a/ext/pdo_sqlite/tests/debugdumpparams_001.phpt b/ext/pdo_sqlite/tests/debugdumpparams_001.phpt
index d85784a4f1..c263eb143b 100644
--- a/ext/pdo_sqlite/tests/debugdumpparams_001.phpt
+++ b/ext/pdo_sqlite/tests/debugdumpparams_001.phpt
@@ -9,23 +9,29 @@ if (!extension_loaded('pdo_sqlite')) print 'skip not loaded';
$db = new pdo('sqlite:memory');
-$x= $db->prepare('select :a, :b');
+$x= $db->prepare('select :a, :b, ?');
$x->bindValue(':a', 1, PDO::PARAM_INT);
$x->bindValue(':b', 'foo');
+$x->bindValue(3, 1313);
var_dump($x->debugDumpParams());
?>
--EXPECT--
-SQL: [13] select :a, :b
-Params: 2
-Key: Position #0:
+SQL: [16] select :a, :b, ?
+Params: 3
+Key: Name: [2] :a
paramno=-1
-name=[2] :a
+name=[2] ":a"
is_param=1
param_type=1
-Key: Position #0:
+Key: Name: [2] :b
paramno=-1
-name=[2] :b
+name=[2] ":b"
+is_param=1
+param_type=2
+Key: Position #2:
+paramno=2
+name=[0] ""
is_param=1
param_type=2
NULL