--TEST-- PDO Common: Bug #44159 (Crash: $pdo->setAttribute(PDO::STATEMENT_ATTR_CLASS, NULL)) --SKIPIF-- --FILE-- setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); $attrs = array(PDO::ATTR_STATEMENT_CLASS, PDO::ATTR_STRINGIFY_FETCHES); foreach ($attrs as $attr) { try { var_dump($pdo->setAttribute($attr, NULL)); } catch (\Error $e) { echo get_class($e), ': ', $e->getMessage(), \PHP_EOL; } try { var_dump($pdo->setAttribute($attr, 1)); } catch (\Error $e) { echo get_class($e), ': ', $e->getMessage(), \PHP_EOL; } try { var_dump($pdo->setAttribute($attr, 'nonsense')); } catch (\Error $e) { echo get_class($e), ': ', $e->getMessage(), \PHP_EOL; } } @unlink(__DIR__."/foo.db"); ?> --EXPECT-- TypeError: PDO::ATTR_STATEMENT_CLASS value must be of type array, null given TypeError: PDO::ATTR_STATEMENT_CLASS value must be of type array, int given TypeError: PDO::ATTR_STATEMENT_CLASS value must be of type array, string given TypeError: Attribute value must be of type int for selected attribute, null given bool(true) bool(true)