1--TEST-- 2PDO_DBLIB: Ensure quote function returns expected results 3--SKIPIF-- 4<?php 5if (!extension_loaded('pdo_dblib')) die('skip not loaded'); 6require __DIR__ . '/config.inc'; 7?> 8--FILE-- 9<?php 10require __DIR__ . '/config.inc'; 11var_dump($db->quote(true, PDO::PARAM_BOOL)); 12var_dump($db->quote(false, PDO::PARAM_BOOL)); 13var_dump($db->quote(42, PDO::PARAM_INT)); 14var_dump($db->quote(null, PDO::PARAM_NULL)); 15var_dump($db->quote('\'', PDO::PARAM_STR)); 16var_dump($db->quote('foo', PDO::PARAM_STR)); 17var_dump($db->quote('foo', PDO::PARAM_STR | PDO::PARAM_STR_CHAR)); 18var_dump($db->quote('über', PDO::PARAM_STR | PDO::PARAM_STR_NATL)); 19 20var_dump($db->getAttribute(PDO::ATTR_DEFAULT_STR_PARAM) === PDO::PARAM_STR_CHAR); 21$db->setAttribute(PDO::ATTR_DEFAULT_STR_PARAM, PDO::PARAM_STR_NATL); 22var_dump($db->getAttribute(PDO::ATTR_DEFAULT_STR_PARAM) === PDO::PARAM_STR_NATL); 23 24var_dump($db->quote('foo', PDO::PARAM_STR | PDO::PARAM_STR_CHAR)); 25var_dump($db->quote('über', PDO::PARAM_STR)); 26var_dump($db->quote('über', PDO::PARAM_STR | PDO::PARAM_STR_NATL)); 27 28$db = new PDO($dsn, $user, $pass, [PDO::ATTR_DEFAULT_STR_PARAM => PDO::PARAM_STR_NATL]); 29var_dump($db->getAttribute(PDO::ATTR_DEFAULT_STR_PARAM) === PDO::PARAM_STR_NATL); 30 31?> 32--EXPECT-- 33string(3) "'1'" 34string(2) "''" 35string(4) "'42'" 36string(2) "''" 37string(4) "''''" 38string(5) "'foo'" 39string(5) "'foo'" 40string(8) "N'über'" 41bool(true) 42bool(true) 43string(5) "'foo'" 44string(8) "N'über'" 45string(8) "N'über'" 46bool(true) 47