bug_43139.phpt 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. --TEST--
  2. PDO Common: Bug #43139 (PDO ignore ATTR_DEFAULT_FETCH_MODE in some cases with fetchAll())
  3. --EXTENSIONS--
  4. pdo
  5. --SKIPIF--
  6. <?php
  7. $dir = getenv('REDIR_TEST_DIR');
  8. if (false == $dir) die('skip no driver');
  9. require_once $dir . 'pdo_test.inc';
  10. PDOTest::skip();
  11. ?>
  12. --FILE--
  13. <?php
  14. if (getenv('REDIR_TEST_DIR') === false) putenv('REDIR_TEST_DIR='.__DIR__ . '/../../pdo/tests/');
  15. require_once getenv('REDIR_TEST_DIR') . 'pdo_test.inc';
  16. $db = PDOTest::factory();
  17. $db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
  18. $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
  19. $from = '';
  20. if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'oci') {
  21. $from = 'from dual';
  22. } else if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'firebird') {
  23. $from = 'FROM RDB$DATABASE';
  24. }
  25. var_dump($db->query("select 0 as abc, 1 as xyz, 2 as def $from")->fetchAll(PDO::FETCH_GROUP));
  26. ?>
  27. --EXPECT--
  28. array(1) {
  29. [0]=>
  30. array(1) {
  31. [0]=>
  32. array(2) {
  33. ["xyz"]=>
  34. string(1) "1"
  35. ["def"]=>
  36. string(1) "2"
  37. }
  38. }
  39. }