From: Marcus Boerger Date: Thu, 24 Feb 2005 00:14:50 +0000 (+0000) Subject: - Missed during last committs somehow X-Git-Tag: RELEASE_0_3~217 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f982890a5886e4383805b2a75ef0537e85542cda;p=php - Missed during last committs somehow --- diff --git a/ext/pdo/tests/pdo_012.inc b/ext/pdo/tests/pdo_012.inc new file mode 100755 index 0000000000..57bd71ab8c --- /dev/null +++ b/ext/pdo/tests/pdo_012.inc @@ -0,0 +1,32 @@ +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 index 0000000000..3b1e970d85 --- /dev/null +++ b/ext/pdo/tests/pdo_013.inc @@ -0,0 +1,39 @@ +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 index 0000000000..ed6fd06f47 --- /dev/null +++ b/ext/pdo/tests/pdo_014.inc @@ -0,0 +1,61 @@ +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); +} + +?>