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