Annotation of embedaddon/php/ext/pdo/tests/pdo_012.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: PDO Common: PDOStatement::setFetchMode
! 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:
! 17: $db->exec('CREATE TABLE test(id int NOT NULL PRIMARY KEY, val VARCHAR(10), grp VARCHAR(10))');
! 18: $db->exec('INSERT INTO test VALUES(1, \'A\', \'Group1\')');
! 19: $db->exec('INSERT INTO test VALUES(2, \'B\', \'Group2\')');
! 20:
! 21: $SELECT = 'SELECT val, grp FROM test';
! 22:
! 23: $stmt = $db->query($SELECT, PDO::FETCH_NUM);
! 24: var_dump($stmt->fetchAll());
! 25:
! 26: class Test
! 27: {
! 28: function __construct($name = 'N/A')
! 29: {
! 30: echo __METHOD__ . "($name)\n";
! 31: }
! 32: }
! 33:
! 34: unset($stmt);
! 35:
! 36: $stmt = $db->query($SELECT, PDO::FETCH_CLASS, 'Test');
! 37: var_dump($stmt->fetchAll());
! 38:
! 39: unset($stmt);
! 40:
! 41: $stmt = $db->query($SELECT, PDO::FETCH_NUM);
! 42: $stmt->setFetchMode(PDO::FETCH_CLASS, 'Test', array('Changed'));
! 43: var_dump($stmt->fetchAll());
! 44:
! 45: ?>
! 46: --EXPECTF--
! 47: array(2) {
! 48: [0]=>
! 49: array(2) {
! 50: [0]=>
! 51: string(1) "A"
! 52: [1]=>
! 53: string(6) "Group1"
! 54: }
! 55: [1]=>
! 56: array(2) {
! 57: [0]=>
! 58: string(1) "B"
! 59: [1]=>
! 60: string(6) "Group2"
! 61: }
! 62: }
! 63: Test::__construct(N/A)
! 64: Test::__construct(N/A)
! 65: array(2) {
! 66: [0]=>
! 67: object(Test)#%d (2) {
! 68: ["val"]=>
! 69: string(1) "A"
! 70: ["grp"]=>
! 71: string(6) "Group1"
! 72: }
! 73: [1]=>
! 74: object(Test)#%d (2) {
! 75: ["val"]=>
! 76: string(1) "B"
! 77: ["grp"]=>
! 78: string(6) "Group2"
! 79: }
! 80: }
! 81: Test::__construct(Changed)
! 82: Test::__construct(Changed)
! 83: array(2) {
! 84: [0]=>
! 85: object(Test)#%d (2) {
! 86: ["val"]=>
! 87: string(1) "A"
! 88: ["grp"]=>
! 89: string(6) "Group1"
! 90: }
! 91: [1]=>
! 92: object(Test)#%d (2) {
! 93: ["val"]=>
! 94: string(1) "B"
! 95: ["grp"]=>
! 96: string(6) "Group2"
! 97: }
! 98: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>