Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.41
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
src /
php-7.4.33 /
ext /
pdo_pgsql /
tests /
Delete
Unzip
Name
Size
Permission
Date
Action
CONFLICTS
6
B
-rw-rw-r--
2022-10-31 11:36
bug36727.phpt
718
B
-rw-rw-r--
2022-10-31 11:36
bug43925.phpt
1.48
KB
-rw-rw-r--
2022-10-31 11:36
bug46274.phpt
1.67
KB
-rw-rw-r--
2022-10-31 11:36
bug46274_2.phpt
1.91
KB
-rw-rw-r--
2022-10-31 11:36
bug48764.phpt
1.7
KB
-rw-rw-r--
2022-10-31 11:36
bug61267.phpt
577
B
-rw-rw-r--
2022-10-31 11:36
bug62479.phpt
2.04
KB
-rw-rw-r--
2022-10-31 11:36
bug62498-32bit.phpt
4.35
KB
-rw-rw-r--
2022-10-31 11:36
bug62498.phpt
4.35
KB
-rw-rw-r--
2022-10-31 11:36
bug62593.phpt
1.66
KB
-rw-rw-r--
2022-10-31 11:36
bug64953.phpt
1.39
KB
-rw-rw-r--
2022-10-31 11:36
bug66584.phpt
4.79
KB
-rw-rw-r--
2022-10-31 11:36
bug67462.phpt
926
B
-rw-rw-r--
2022-10-31 11:36
bug68199.phpt
2.81
KB
-rw-rw-r--
2022-10-31 11:36
bug68371.phpt
2.22
KB
-rw-rw-r--
2022-10-31 11:36
bug69344.phpt
1.03
KB
-rw-rw-r--
2022-10-31 11:36
bug69362.phpt
1.74
KB
-rw-rw-r--
2022-10-31 11:36
bug69752.phpt
1.44
KB
-rw-rw-r--
2022-10-31 11:36
bug70313.phpt
865
B
-rw-rw-r--
2022-10-31 11:36
bug70861.phpt
1.22
KB
-rw-rw-r--
2022-10-31 11:36
bug71573.phpt
703
B
-rw-rw-r--
2022-10-31 11:36
bug71885.phpt
1.06
KB
-rw-rw-r--
2022-10-31 11:36
bug71885_2.phpt
1.34
KB
-rw-rw-r--
2022-10-31 11:36
bug72294.phpt
3.16
KB
-rw-rw-r--
2022-10-31 11:36
bug72570.phpt
731
B
-rw-rw-r--
2022-10-31 11:36
bug72633.phpt
955
B
-rw-rw-r--
2022-10-31 11:36
bug73959.phpt
805
B
-rw-rw-r--
2022-10-31 11:36
bug75402.phpt
3.56
KB
-rw-rw-r--
2022-10-31 11:36
bug_33876.phpt
3.34
KB
-rw-rw-r--
2022-10-31 11:36
bug_49985.phpt
959
B
-rw-rw-r--
2022-10-31 11:36
bug_64705.phpt
427
B
-rw-rw-r--
2022-10-31 11:36
common.phpt
737
B
-rw-rw-r--
2022-10-31 11:36
config.inc
540
B
-rw-rw-r--
2022-10-31 11:36
copy_from.phpt
7.49
KB
-rw-rw-r--
2022-10-31 11:36
copy_to.phpt
3.74
KB
-rw-rw-r--
2022-10-31 11:36
debug_emulated_prepares.phpt
1.17
KB
-rw-rw-r--
2022-10-31 11:36
disable_prepares.phpt
1.26
KB
-rw-rw-r--
2022-10-31 11:36
getnotify.phpt
2.82
KB
-rw-rw-r--
2022-10-31 11:36
is_in_transaction.phpt
1.74
KB
-rw-rw-r--
2022-10-31 11:36
large_objects.phpt
2.45
KB
-rw-rw-r--
2022-10-31 11:36
Save
Rename
--TEST-- PDO PgSQL Bug #33876 (PDO misquotes/miscasts bool(false)) --SKIPIF-- <?php if (!extension_loaded('pdo') || !extension_loaded('pdo_pgsql')) die('skip not loaded'); require __DIR__ . '/config.inc'; require __DIR__ . '/../../../ext/pdo/tests/pdo_test.inc'; PDOTest::skip(); ?> --FILE-- <?php require __DIR__ . '/../../../ext/pdo/tests/pdo_test.inc'; $db = PDOTest::test_factory(__DIR__ . '/common.phpt'); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT); $db->exec("SET LC_MESSAGES='C'"); $db->exec('CREATE TABLE test (foo varchar(5) NOT NULL, bar bool NOT NULL)'); $db->exec("INSERT INTO test VALUES('false','f')"); $db->exec("INSERT INTO test VALUES('true', 't')"); $res = $db->prepare('SELECT foo from test where bar = ?'); # this is the portable approach to binding a bool $res->bindValue(1, false, PDO::PARAM_BOOL); if (!$res->execute()) print_r($res->errorInfo()); else print_r($res->fetchAll(PDO::FETCH_ASSOC)); # this is the portable approach to binding a bool $res->bindValue(1, true, PDO::PARAM_BOOL); if (!$res->execute()) print_r($res->errorInfo()); else print_r($res->fetchAll(PDO::FETCH_ASSOC)); # true gets cast to string (because the implied default is string) # true-as-string is 1, so this "works" if (!$res->execute(array(true))) print_r($res->errorInfo()); else print_r($res->fetchAll(PDO::FETCH_ASSOC)); # Expected to fail; unless told otherwise, PDO assumes string inputs # false -> "" as string, which pgsql doesn't like if (!$res->execute(array(false))) print_r(normalizeErrorInfo($res->errorInfo())); else print_r($res->fetchAll(PDO::FETCH_ASSOC)); # And now using emulator prepares echo "EMUL\n"; $res = $db->prepare('SELECT foo from test where bar = ?', array( PDO::ATTR_EMULATE_PREPARES => true)); # this is the portable approach to binding a bool $res->bindValue(1, false, PDO::PARAM_BOOL); if (!$res->execute()) print_r($res->errorInfo()); else print_r($res->fetchAll(PDO::FETCH_ASSOC)); # this is the portable approach to binding a bool $res->bindValue(1, true, PDO::PARAM_BOOL); if (!$res->execute()) print_r($res->errorInfo()); else print_r($res->fetchAll(PDO::FETCH_ASSOC)); # true gets cast to string (because the implied default is string) # true-as-string is 1, so this "works" if (!$res->execute(array(true))) print_r($res->errorInfo()); else print_r($res->fetchAll(PDO::FETCH_ASSOC)); # Expected to fail; unless told otherwise, PDO assumes string inputs # false -> "" as string, which pgsql doesn't like if (!$res->execute(array(false))) { print_r(normalizeErrorInfo($res->errorInfo())); } else { print_r($res->fetchAll(PDO::FETCH_ASSOC)); } function normalizeErrorInfo(array $err): array { // Strip additional lines outputted by recent PgSQL versions $err[2] = trim(current(explode("\n", $err[2]))); return $err; } ?> --EXPECTF-- Array ( [0] => Array ( [foo] => false ) ) Array ( [0] => Array ( [foo] => true ) ) Array ( [0] => Array ( [foo] => true ) ) Array ( [0] => 22P02 [1] => 7 [2] => %s: %sboolean%s ) EMUL Array ( [0] => Array ( [foo] => false ) ) Array ( [0] => Array ( [foo] => true ) ) Array ( [0] => Array ( [foo] => true ) ) Array ( [0] => 22P02 [1] => 7 [2] => %s: %sboolean%s )