iliaa Sun Jul 22 15:50:18 2007 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/pdo pdo_stmt.c /php-src/ext/pdo/tests pdo_034.phpt Log: Added test for KEY_PAIR code and fixed KEY_PAIR detection code http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/pdo_stmt.c?r1=1.118.2.38.2.20&r2=1.118.2.38.2.21&diff_format=u Index: php-src/ext/pdo/pdo_stmt.c diff -u php-src/ext/pdo/pdo_stmt.c:1.118.2.38.2.20 php-src/ext/pdo/pdo_stmt.c:1.118.2.38.2.21 --- php-src/ext/pdo/pdo_stmt.c:1.118.2.38.2.20 Sun Jul 22 15:14:21 2007 +++ php-src/ext/pdo/pdo_stmt.c Sun Jul 22 15:50:17 2007 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pdo_stmt.c,v 1.118.2.38.2.20 2007/07/22 15:14:21 iliaa Exp $ */ +/* $Id: pdo_stmt.c,v 1.118.2.38.2.21 2007/07/22 15:50:17 iliaa Exp $ */ /* The PDO Statement Handle Class */ @@ -1521,7 +1521,7 @@ if (!error) { PDO_STMT_CLEAR_ERR(); MAKE_STD_ZVAL(data); - if (how & (PDO_FETCH_GROUP|PDO_FETCH_KEY_PAIR)) { + if ((how & PDO_FETCH_GROUP) || how == PDO_FETCH_KEY_PAIR) { array_init(return_value); return_all = return_value; } else { @@ -1533,11 +1533,11 @@ } } if (!error) { - if (how & PDO_FETCH_GROUP) { + if ((how & PDO_FETCH_GROUP)) { do { MAKE_STD_ZVAL(data); } while (do_fetch(stmt, TRUE, data, how, PDO_FETCH_ORI_NEXT, 0, return_all TSRMLS_CC)); - } else if (how & PDO_FETCH_KEY_PAIR) { + } else if (how == PDO_FETCH_KEY_PAIR) { while (do_fetch(stmt, TRUE, data, how, PDO_FETCH_ORI_NEXT, 0, return_all TSRMLS_CC)); } else { array_init(return_value); http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/tests/pdo_034.phpt?r1=1.1.2.4&r2=1.1.2.5&diff_format=u Index: php-src/ext/pdo/tests/pdo_034.phpt diff -u php-src/ext/pdo/tests/pdo_034.phpt:1.1.2.4 php-src/ext/pdo/tests/pdo_034.phpt:1.1.2.5 --- php-src/ext/pdo/tests/pdo_034.phpt:1.1.2.4 Sat May 19 15:28:37 2007 +++ php-src/ext/pdo/tests/pdo_034.phpt Sun Jul 22 15:50:17 2007 @@ -23,6 +23,7 @@ var_dump($db->query("SELECT a,b FROM test")->fetch(PDO::FETCH_KEY_PAIR)); var_dump($db->query("SELECT a,b FROM test")->fetchAll(PDO::FETCH_KEY_PAIR)); var_dump($db->query("SELECT * FROM test")->fetch(PDO::FETCH_KEY_PAIR)); +var_dump($db->query("SELECT a,a FROM test")->fetchAll(PDO::FETCH_KEY_PAIR)); ?> --EXPECTF-- @@ -31,34 +32,31 @@ string(1) "0" } array(5) { - [0]=> - array(1) { - ["test0"]=> - string(1) "0" - } - [1]=> - array(1) { - ["test1"]=> - string(1) "1" - } - [2]=> - array(1) { - ["test2"]=> - string(1) "2" - } - [3]=> - array(1) { - ["test3"]=> - string(1) "3" - } - [4]=> - array(1) { - ["test4"]=> - string(1) "4" - } + ["test0"]=> + string(1) "0" + ["test1"]=> + string(1) "1" + ["test2"]=> + string(1) "2" + ["test3"]=> + string(1) "3" + ["test4"]=> + string(1) "4" } -Warning: PDOStatement::fetch(): SQLSTATE[HY000]: General error: PDO::FETCH_KEY_PAIR fetch mode requires the result set to contain extactly 2 columns. in %s/tests%spdo_034.php on line %d +Warning: PDOStatement::fetch(): SQLSTATE[HY000]: General error: PDO::FETCH_KEY_PAIR fetch mode requires the result set to contain extactly 2 columns. in %s/pdo_034.php on line %d -Warning: PDOStatement::fetch(): SQLSTATE[HY000]: General error%s/tests%spdo_034.php on line %d +Warning: PDOStatement::fetch(): SQLSTATE[HY000]: General error in %s/pdo_034.php on line %d bool(false) +array(5) { + ["test0"]=> + string(5) "test0" + ["test1"]=> + string(5) "test1" + ["test2"]=> + string(5) "test2" + ["test3"]=> + string(5) "test3" + ["test4"]=> + string(5) "test4" +}
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php