diff options
author | Felipe Pena <felipe@php.net> | 2009-07-19 18:55:31 +0000 |
---|---|---|
committer | Felipe Pena <felipe@php.net> | 2009-07-19 18:55:31 +0000 |
commit | cdf9cf3033aed42699736d7e96747c56e6d5ffd7 (patch) | |
tree | 8d6b9ecc884fcfb6d41c4c1b882b9b723130fad1 /ext/pdo_sqlite | |
parent | 4028b77c34cab55eb7edd7bcb89e35345e7acdab (diff) | |
download | php-git-cdf9cf3033aed42699736d7e96747c56e6d5ffd7.tar.gz |
- Fixed bug #48773 (Incorrect error when setting PDO::ATTR_STATEMENT_CLASS with ctor_args)
[HEAD only]
Diffstat (limited to 'ext/pdo_sqlite')
-rw-r--r-- | ext/pdo_sqlite/tests/bug48773.phpt | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/ext/pdo_sqlite/tests/bug48773.phpt b/ext/pdo_sqlite/tests/bug48773.phpt new file mode 100644 index 0000000000..b8bdea9185 --- /dev/null +++ b/ext/pdo_sqlite/tests/bug48773.phpt @@ -0,0 +1,34 @@ +--TEST-- +Bug #48773 (Incorrect error when setting PDO::ATTR_STATEMENT_CLASS with ctor_args) +--SKIPIF-- +<?php +if (!extension_loaded('pdo_sqlite')) print 'skip not loaded'; +?> +--FILE-- +<?php + +class bar extends PDOStatement { + private function __construct() { + } +} + +class foo extends PDO { + public $statementClass = 'bar'; + function __construct($dsn, $username, $password, $driver_options = array()) { + $driver_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; + parent::__construct($dsn, $username, $password, $driver_options); + + $this->setAttribute(PDO::ATTR_STATEMENT_CLASS, array($this->statementClass, array($this))); + } +} + +$db = new foo('sqlite::memory:', '', ''); +$stmt = $db->query('SELECT 1'); +var_dump($stmt); + +?> +--EXPECTF-- +object(bar)#%d (1) { + [%u|b%"queryString"]=> + %unicode|string%(8) "SELECT 1" +} |