bug48773.phpt 781 B

1234567891011121314151617181920212223242526272829303132
  1. --TEST--
  2. Bug #48773 (Incorrect error when setting PDO::ATTR_STATEMENT_CLASS with ctor_args)
  3. --EXTENSIONS--
  4. pdo_sqlite
  5. --FILE--
  6. <?php
  7. class bar extends PDOStatement {
  8. private function __construct() {
  9. }
  10. }
  11. class foo extends PDO {
  12. public $statementClass = 'bar';
  13. function __construct($dsn, $username, $password, $driver_options = array()) {
  14. $driver_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
  15. parent::__construct($dsn, $username, $password, $driver_options);
  16. $this->setAttribute(PDO::ATTR_STATEMENT_CLASS, array($this->statementClass, array($this)));
  17. }
  18. }
  19. $db = new foo('sqlite::memory:', '', '');
  20. $stmt = $db->query('SELECT 1');
  21. var_dump($stmt);
  22. ?>
  23. --EXPECTF--
  24. object(bar)#%d (1) {
  25. ["queryString"]=>
  26. string(8) "SELECT 1"
  27. }