summaryrefslogtreecommitdiff
path: root/ext/pdo_sqlite
diff options
context:
space:
mode:
authorFelipe Pena <felipe@php.net>2009-07-19 18:55:31 +0000
committerFelipe Pena <felipe@php.net>2009-07-19 18:55:31 +0000
commitcdf9cf3033aed42699736d7e96747c56e6d5ffd7 (patch)
tree8d6b9ecc884fcfb6d41c4c1b882b9b723130fad1 /ext/pdo_sqlite
parent4028b77c34cab55eb7edd7bcb89e35345e7acdab (diff)
downloadphp-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.phpt34
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"
+}