pdo_007.phpt 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. --TEST--
  2. PDO Common: PDO::FETCH_UNIQUE
  3. --SKIPIF--
  4. <?php # vim:ft=php
  5. if (!extension_loaded('pdo')) die('skip');
  6. $dir = getenv('REDIR_TEST_DIR');
  7. if (false == $dir) die('skip no driver');
  8. require_once $dir . 'pdo_test.inc';
  9. PDOTest::skip();
  10. ?>
  11. --FILE--
  12. <?php
  13. if (getenv('REDIR_TEST_DIR') === false) putenv('REDIR_TEST_DIR='.dirname(__FILE__) . '/../../pdo/tests/');
  14. require_once getenv('REDIR_TEST_DIR') . 'pdo_test.inc';
  15. $db = PDOTest::factory();
  16. $db->exec('CREATE TABLE test(id CHAR(1) NOT NULL PRIMARY KEY, val VARCHAR(10))');
  17. $db->exec("INSERT INTO test VALUES('A', 'A')");
  18. $db->exec("INSERT INTO test VALUES('B', 'A')");
  19. $db->exec("INSERT INTO test VALUES('C', 'C')");
  20. $stmt = $db->prepare('SELECT id, val from test');
  21. $stmt->execute();
  22. var_dump($stmt->fetchAll(PDO::FETCH_NUM|PDO::FETCH_UNIQUE));
  23. $stmt->execute();
  24. var_dump($stmt->fetchAll(PDO::FETCH_ASSOC|PDO::FETCH_UNIQUE));
  25. ?>
  26. --EXPECT--
  27. array(3) {
  28. ["A"]=>
  29. array(1) {
  30. [0]=>
  31. string(1) "A"
  32. }
  33. ["B"]=>
  34. array(1) {
  35. [0]=>
  36. string(1) "A"
  37. }
  38. ["C"]=>
  39. array(1) {
  40. [0]=>
  41. string(1) "C"
  42. }
  43. }
  44. array(3) {
  45. ["A"]=>
  46. array(1) {
  47. ["val"]=>
  48. string(1) "A"
  49. }
  50. ["B"]=>
  51. array(1) {
  52. ["val"]=>
  53. string(1) "A"
  54. }
  55. ["C"]=>
  56. array(1) {
  57. ["val"]=>
  58. string(1) "C"
  59. }
  60. }