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