]> granicus.if.org Git - php/commitdiff
- Missed during last committs somehow
authorMarcus Boerger <helly@php.net>
Thu, 24 Feb 2005 00:14:50 +0000 (00:14 +0000)
committerMarcus Boerger <helly@php.net>
Thu, 24 Feb 2005 00:14:50 +0000 (00:14 +0000)
ext/pdo/tests/pdo_012.inc [new file with mode: 0755]
ext/pdo/tests/pdo_013.inc [new file with mode: 0755]
ext/pdo/tests/pdo_014.inc [new file with mode: 0755]

diff --git a/ext/pdo/tests/pdo_012.inc b/ext/pdo/tests/pdo_012.inc
new file mode 100755 (executable)
index 0000000..57bd71a
--- /dev/null
@@ -0,0 +1,32 @@
+<?php # vim:ft=php
+
+require_once('pdo.inc');
+       
+set_sql('create', 'CREATE TABLE test(id int PRIMARY KEY, val VARCHAR(10), grp VARCHAR(10))');
+set_sql('insert1', 'INSERT INTO test VALUES(1, \'A\', \'Group1\')'); 
+set_sql('insert2', 'INSERT INTO test VALUES(2, \'B\', \'Group2\')'); 
+set_sql('select1',  'SELECT val, grp FROM test');
+
+$DB->exec($SQL['create']);
+$DB->exec($SQL['insert1']);
+$DB->exec($SQL['insert2']);
+
+$stmt = $DB->query($SQL['select1'], PDO_FETCH_NUM);
+var_dump($stmt->fetchAll());
+
+class Test
+{
+       function __construct($name = 'N/A')
+       {
+               echo __METHOD__ . "($name)\n";
+       }
+}
+
+$stmt = $DB->query($SQL['select1'], PDO_FETCH_CLASS, 'Test');
+var_dump($stmt->fetchAll());
+
+$stmt = $DB->query($SQL['select1'], PDO_FETCH_NUM);
+$stmt->setFetchMode(PDO_FETCH_CLASS, 'Test', array('Changed'));
+var_dump($stmt->fetchAll());
+
+?>
diff --git a/ext/pdo/tests/pdo_013.inc b/ext/pdo/tests/pdo_013.inc
new file mode 100755 (executable)
index 0000000..3b1e970
--- /dev/null
@@ -0,0 +1,39 @@
+<?php # vim:ft=php
+
+require_once('pdo.inc');
+       
+set_sql('create', 'CREATE TABLE test(id int PRIMARY KEY, val VARCHAR(10), grp VARCHAR(10))');
+set_sql('insert1', 'INSERT INTO test VALUES(1, \'A\', \'Group1\')'); 
+set_sql('insert2', 'INSERT INTO test VALUES(2, \'B\', \'Group2\')'); 
+set_sql('select1',  'SELECT val, grp FROM test');
+
+$DB->exec($SQL['create']);
+$DB->exec($SQL['insert1']);
+$DB->exec($SQL['insert2']);
+
+foreach($DB->query($SQL['select1'], PDO_FETCH_NUM) as $data)
+{
+       var_dump($data);
+}
+
+class Test
+{
+       function __construct($name = 'N/A')
+       {
+               echo __METHOD__ . "($name)\n";
+       }
+}
+
+foreach($DB->query($SQL['select1'], PDO_FETCH_CLASS, 'Test') as $data)
+{
+       var_dump($data);
+}
+
+$stmt = $DB->query($SQL['select1'], PDO_FETCH_CLASS, 'Test', array('WOW'));
+
+foreach($stmt as $data)
+{
+       var_dump($data);
+}
+
+?>
diff --git a/ext/pdo/tests/pdo_014.inc b/ext/pdo/tests/pdo_014.inc
new file mode 100755 (executable)
index 0000000..ed6fd06
--- /dev/null
@@ -0,0 +1,61 @@
+<?php # vim:ft=php
+
+require_once('pdo.inc');
+       
+set_sql('create', 'CREATE TABLE test(id int PRIMARY KEY, val VARCHAR(10), grp VARCHAR(10))');
+set_sql('insert1', 'INSERT INTO test VALUES(1, \'A\', \'Group1\')'); 
+set_sql('insert2', 'INSERT INTO test VALUES(2, \'B\', \'Group2\')'); 
+set_sql('select1',  'SELECT val, grp FROM test');
+
+$DB->exec($SQL['create']);
+$DB->exec($SQL['insert1']);
+$DB->exec($SQL['insert2']);
+
+class Test
+{
+       function __construct($name = 'N/A')
+       {
+               echo __METHOD__ . "($name)\n";
+       }
+}
+
+$stmt = $DB->query($SQL['select1'], PDO_FETCH_CLASS, 'Test', array('WOW'));
+
+$it = new IteratorIterator($stmt); /* check if we can convert that thing */
+
+/*** HINT: If YOU plan to do so remember not to call rewind() -> see below ***/
+
+foreach($it as $data)
+{
+       var_dump($data);
+}
+
+$it->next();              /* must be allowed */
+var_dump($it->current()); /* must return NULL */
+var_dump($it->valid());   /* must return false */
+
+class PDOStatementAggregate extends PDOStatement implements IteratorAggregate
+{
+       private function __construct()
+       {
+               echo __METHOD__ . "\n";
+               $this->setFetchMode(PDO_FETCH_NUM);   
+               /* default fetch mode is BOTH, so we see if the ctor can overwrite that */
+       }
+
+       function getIterator()
+       {
+               echo __METHOD__ . "\n";
+               $this->execute();
+               return new IteratorIterator($this, 'PDOStatement');
+       }
+}
+
+$stmt = $DB->prepare($SQL['select1'], array(PDO_ATTR_STATEMENT_CLASS=>array('PDOStatementAggregate')));
+
+foreach($stmt as $data)
+{
+       var_dump($data);
+}
+
+?>