1--TEST--
2PDO_DBLIB: Ensure quote function returns expected results
3--EXTENSIONS--
4pdo_dblib
5--SKIPIF--
6<?php
7require __DIR__ . '/config.inc';
8?>
9--FILE--
10<?php
11require __DIR__ . '/config.inc';
12var_dump($db->quote(true, PDO::PARAM_BOOL));
13var_dump($db->quote(false, PDO::PARAM_BOOL));
14var_dump($db->quote(42, PDO::PARAM_INT));
15var_dump($db->quote(null, PDO::PARAM_NULL));
16var_dump($db->quote('\'', PDO::PARAM_STR));
17var_dump($db->quote('foo', PDO::PARAM_STR));
18var_dump($db->quote('foo', PDO::PARAM_STR | PDO::PARAM_STR_CHAR));
19var_dump($db->quote('über', PDO::PARAM_STR | PDO::PARAM_STR_NATL));
20
21var_dump($db->getAttribute(PDO::ATTR_DEFAULT_STR_PARAM) === PDO::PARAM_STR_CHAR);
22$db->setAttribute(PDO::ATTR_DEFAULT_STR_PARAM, PDO::PARAM_STR_NATL);
23var_dump($db->getAttribute(PDO::ATTR_DEFAULT_STR_PARAM) === PDO::PARAM_STR_NATL);
24
25var_dump($db->quote('foo', PDO::PARAM_STR | PDO::PARAM_STR_CHAR));
26var_dump($db->quote('über', PDO::PARAM_STR));
27var_dump($db->quote('über', PDO::PARAM_STR | PDO::PARAM_STR_NATL));
28
29$db = new PDO($dsn, $user, $pass, [PDO::ATTR_DEFAULT_STR_PARAM => PDO::PARAM_STR_NATL]);
30var_dump($db->getAttribute(PDO::ATTR_DEFAULT_STR_PARAM) === PDO::PARAM_STR_NATL);
31
32?>
33--EXPECTF--
34string(3) "'1'"
35string(2) "''"
36string(4) "'42'"
37
38Deprecated: PDO::quote(): Passing null to parameter #1 ($string) of type string is deprecated in %s on line %d
39string(2) "''"
40string(4) "''''"
41string(5) "'foo'"
42string(5) "'foo'"
43string(8) "N'über'"
44bool(true)
45bool(true)
46string(5) "'foo'"
47string(8) "N'über'"
48string(8) "N'über'"
49bool(true)
50