diff options
author | Julien Pauli <jpauli@php.net> | 2016-07-12 15:50:58 +0200 |
---|---|---|
committer | Julien Pauli <jpauli@php.net> | 2016-07-12 15:50:58 +0200 |
commit | 152d53c8440f7f9f4c97af899ef3d5cf5126084d (patch) | |
tree | f899f25f18778f80cd3619d7a6109c72c303052a /ext/pdo | |
parent | c96a9ca6f5630495fe2b34ca709111160a156684 (diff) | |
parent | 1896ca4e88451d5190d3ce921d6f7a52b3ec6e9f (diff) | |
download | php-git-152d53c8440f7f9f4c97af899ef3d5cf5126084d.tar.gz |
Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
Updated NEWS
Revert "Fixes #52384: Adds parameter value to dumped output. Also adds output flag indicating presence of PDO::PARAM_INPUT_OUTPUT."
Revert "Fix test for #52384"
Conflicts:
ext/pdo/pdo_stmt.c
Diffstat (limited to 'ext/pdo')
-rw-r--r-- | ext/pdo/pdo_stmt.c | 45 | ||||
-rw-r--r-- | ext/pdo/tests/bug_52384.phpt | 87 |
2 files changed, 5 insertions, 127 deletions
diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index 3437869eec..8d1d909acc 100644 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -2120,7 +2120,6 @@ static PHP_METHOD(PDOStatement, debugDumpParams) if (stmt->bound_params) { zend_ulong num; zend_string *key = NULL; - zval parameter; ZEND_HASH_FOREACH_KEY_PTR(stmt->bound_params, num, key, param) { if (key) { php_stream_printf(out, "Key: Name: [%zd] %.*s\n", @@ -2129,45 +2128,11 @@ static PHP_METHOD(PDOStatement, debugDumpParams) php_stream_printf(out, "Key: Position #%pd:\n", num); } - php_stream_printf(out, "paramno=%pd\nname=[%zd] \"%.*s\"\nis_param=%d\nparam_type=%d\nis_input_output=%d\n", - param->paramno, param->name ? ZSTR_LEN(param->name) : 0, param->name ? (int) ZSTR_LEN(param->name) : 0, - param->name ? ZSTR_VAL(param->name) : "", - param->is_param, - PDO_PARAM_TYPE(param->param_type), - (param->param_type & PDO_PARAM_INPUT_OUTPUT) == PDO_PARAM_INPUT_OUTPUT); - - /* - * Check the type of the parameter and print out the value. - * - * Most are self explanatory with the following exceptions: - * PDO::PARAM_INT evaluates to a long - * PDO::PARAM_LOB evaluates to a string - */ - parameter = param->parameter; -again: - switch (Z_TYPE(parameter)) { - case IS_REFERENCE: - parameter = *Z_REFVAL(parameter); - goto again; - case IS_TRUE: - php_stream_printf(out, "param_value=true\n"); - break; - case IS_FALSE: - php_stream_printf(out, "param_value=false\n"); - break; - case IS_NULL: - php_stream_printf(out, "param_value=null\n"); - break; - case IS_LONG: - php_stream_printf(out, "param_value=%ld\n", Z_LVAL(parameter)); - break; - case IS_STRING: - php_stream_printf(out, "param_value=%s\n", Z_STRVAL(parameter)); - break; - default: - php_stream_printf(out, "param_value=unknown\n"); - break; - } + php_stream_printf(out, "paramno=%pd\nname=[%zd] \"%.*s\"\nis_param=%d\nparam_type=%d\n", + param->paramno, param->name ? ZSTR_LEN(param->name) : 0, param->name ? (int) ZSTR_LEN(param->name) : 0, + param->name ? ZSTR_VAL(param->name) : "", + param->is_param, + param->param_type); } ZEND_HASH_FOREACH_END(); } diff --git a/ext/pdo/tests/bug_52384.phpt b/ext/pdo/tests/bug_52384.phpt deleted file mode 100644 index b6eac4fb11..0000000000 --- a/ext/pdo/tests/bug_52384.phpt +++ /dev/null @@ -1,87 +0,0 @@ ---TEST-- -PDO Common: Bug #52384 (debugDumpParams does not emit the bind parameter value) ---SKIPIF-- -<?php # vim:ft=php -# PDOTEST_DSN=sqlite::memory: REDIR_TEST_DIR=ext/pdo/tests/ TEST_PHP_EXECUTABLE=sapi/cli/php sapi/cli/php run-tests.php ext/pdo/tests/pdo_038.phpt -if (!extension_loaded('pdo')) die('skip'); -$dir = getenv('REDIR_TEST_DIR'); -if (false == $dir) die('skip no driver'); -require_once $dir . 'pdo_test.inc'; -PDOTest::skip(); -?> ---FILE-- -<?php -if (getenv('REDIR_TEST_DIR') === false) putenv('REDIR_TEST_DIR='.dirname(__FILE__) . '/../../pdo/tests/'); -require_once getenv('REDIR_TEST_DIR') . 'pdo_test.inc'; -$db = PDOTest::factory(); - -$calories = 150; -$colour = 'red'; -$tf = true; -$n = null; -$lob = str_repeat('a',1000); -$dob = '1978-10-17'; - -$errmode = $db->getAttribute(PDO::ATTR_ERRMODE); -$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT); -$db->exec("DROP table bug_52384"); -$db->setAttribute(PDO::ATTR_ERRMODE, $errmode); -$db->exec("CREATE table bug_52384 (calories int, colour varchar(64), tf int, n int, lob varchar(255), dob varchar(255))"); - -$sth = $db->prepare('SELECT 1 FROM bug_52384 WHERE calories=:calories AND colour=:colour AND tf=:tf AND n=:n AND lob=:lob AND dob=:dob'); -$sth->bindParam(':calories', $calories, PDO::PARAM_INT); -$sth->bindValue(':colour', $colour, PDO::PARAM_STR); -$sth->bindValue(':tf', $tf, PDO::PARAM_BOOL); -$sth->bindValue(':n', $n, PDO::PARAM_NULL); -$sth->bindValue(':lob', $lob, PDO::PARAM_LOB); -$sth->bindValue(':dob', $dob, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT); - -$sth->debugDumpParams(); -unset($dbh); -?> ---EXPECT-- -SQL: [113] SELECT 1 FROM bug_52384 WHERE calories=:calories AND colour=:colour AND tf=:tf AND n=:n AND lob=:lob AND dob=:dob -Params: 6 -Key: Name: [9] :calories -paramno=-1 -name=[9] ":calories" -is_param=1 -param_type=1 -is_input_output=0 -param_value=150 -Key: Name: [7] :colour -paramno=-1 -name=[7] ":colour" -is_param=1 -param_type=2 -is_input_output=0 -param_value=red -Key: Name: [3] :tf -paramno=-1 -name=[3] ":tf" -is_param=1 -param_type=5 -is_input_output=0 -param_value=true -Key: Name: [2] :n -paramno=-1 -name=[2] ":n" -is_param=1 -param_type=0 -is_input_output=0 -param_value=null -Key: Name: [4] :lob -paramno=-1 -name=[4] ":lob" -is_param=1 -param_type=3 -is_input_output=0 -param_value=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -Key: Name: [4] :dob -paramno=-1 -name=[4] ":dob" -is_param=1 -param_type=2 -is_input_output=1 -param_value=1978-10-17 - |