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