xref: /php-src/ext/pdo_mysql/tests/bug_41698.phpt (revision 4bb75d56)
1--TEST--
2PDO MySQL Bug #41698 (float parameters truncated to integer in prepared statements)
3--EXTENSIONS--
4pdo_mysql
5--SKIPIF--
6<?php
7require_once __DIR__ . '/inc/mysql_pdo_test.inc';
8MySQLPDOTest::skip();
9?>
10--FILE--
11<?php
12require_once __DIR__ . '/inc/mysql_pdo_test.inc';
13$db = MySQLPDOTest::factory();
14
15setlocale(LC_ALL, "de","de_DE","de_DE.ISO8859-1","de_DE.ISO_8859-1","de_DE.UTF-8");
16
17$db->exec('CREATE TABLE test_41698(floatval DECIMAL(8,6))');
18$db->exec('INSERT INTO test_41698 VALUES(2.34)');
19$value=4.56;
20$stmt = $db->prepare('INSERT INTO test_41698 VALUES(?)');
21$stmt->execute(array($value));
22var_dump($db->query('SELECT * FROM test_41698')->fetchAll(PDO::FETCH_ASSOC));
23?>
24--CLEAN--
25<?php
26require_once __DIR__ . '/inc/mysql_pdo_test.inc';
27$db = MySQLPDOTest::factory();
28$db->exec("DROP TABLE IF EXISTS test_41698");
29?>
30--EXPECT--
31array(2) {
32  [0]=>
33  array(1) {
34    ["floatval"]=>
35    string(8) "2.340000"
36  }
37  [1]=>
38  array(1) {
39    ["floatval"]=>
40    string(8) "4.560000"
41  }
42}
43