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 {
}
}
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);
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--
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"
+}