123456789101112131415161718192021222324252627282930313233 |
- --TEST--
- Bug #66033 (Segmentation Fault when constructor of PDO statement throws an exception)
- --SKIPIF--
- <?php
- if (!extension_loaded('pdo_sqlite')) print 'skip not loaded';
- ?>
- --FILE--
- <?php
- class DBStatement extends PDOStatement {
- public $dbh;
- protected function __construct($dbh) {
- $this->dbh = $dbh;
- throw new Exception("Blah");
- }
- }
- $pdo = new PDO('sqlite::memory:', null, null);
- $pdo->setAttribute(PDO::ATTR_STATEMENT_CLASS, array('DBStatement',
- array($pdo)));
- $pdo->exec("CREATE TABLE IF NOT EXISTS messages (
- id INTEGER PRIMARY KEY,
- title TEXT,
- message TEXT,
- time INTEGER)");
- try {
- $pdoStatement = $pdo->query("select * from messages");
- } catch (Exception $e) {
- var_dump($e->getMessage());
- }
- ?>
- --EXPECT--
- string(4) "Blah"
|