xref: /PHP-8.4/ext/pdo/tests/bug_39398.phpt (revision f4a5db3e)
1--TEST--
2PDO Common: Bug #39398 (Booleans are not automatically translated to integers)
3--EXTENSIONS--
4pdo
5--SKIPIF--
6<?php
7$dir = getenv('REDIR_TEST_DIR');
8if (false == $dir) die('skip no driver');
9require_once $dir . 'pdo_test.inc';
10PDOTest::skip();
11?>
12--FILE--
13<?php
14if (getenv('REDIR_TEST_DIR') === false) putenv('REDIR_TEST_DIR='.__DIR__ . '/../../pdo/tests/');
15require_once getenv('REDIR_TEST_DIR') . 'pdo_test.inc';
16
17$db = PDOTest::factory();
18$db->exec("CREATE TABLE test39398 (test INT)");
19
20$boolean = 1;
21$stmt = $db->prepare('INSERT INTO test39398 VALUES (:boolean)');
22$stmt->bindValue(':boolean', isset($boolean), PDO::PARAM_INT);
23$stmt->execute();
24
25var_dump($db->query("SELECT * FROM test39398")->fetchAll(PDO::FETCH_ASSOC));
26?>
27--CLEAN--
28<?php
29require_once getenv('REDIR_TEST_DIR') . 'pdo_test.inc';
30$db = PDOTest::factory();
31PDOTest::dropTableIfExists($db, "test39398");
32?>
33--EXPECT--
34array(1) {
35  [0]=>
36  array(1) {
37    ["test"]=>
38    string(1) "1"
39  }
40}
41