1. 程式人生 > >pdo 查詢 mysql 返回值 int 轉 string 型別的問題

pdo 查詢 mysql 返回值 int 轉 string 型別的問題

<?php $dsn = "mysql:dbname=$app[db_name];host=$app[db_host];port=$app[db_port];charset=utf8"; try { $dbh = @new PDO($dsn, $app['db_username'], $app['db_password'], array( PDO::ATTR_PERSISTENT => $app['db_pconnect'], PDO::ATTR_EMULATE_PREPARES => false, //注意這裡 PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
)); } catch (PDOException $e) { echo $e->getMessage(); exit(); } $sth = $dbh->query('SELECT * FROM test'); $arr = $sth->fetchAll(PDO::FETCH_ASSOC); $sth = null; $dbh = null; var_dump($arr); //輸出: array(3) { [0]=> array(6) { ["c1"]=> int(32) ["c2"]=> float(32.099998474121
) ["c3"]=> float(32.099998474121) ["c4"]=> float(32.1) ["c5"]=> float(32.1) ["c6"]=> string(5) "32.10" } [1]=> array(6) { ["c1"]=> int(43) ["c2"]=> float(43.209999084473) ["c3"]=> float(43.209999084473) ["c4"]=> float(43.21
) ["c5"]=> float(43.21) ["c6"]=> string(5) "43.21" } [2]=> array(6) { ["c1"]=> int(9876543) ["c2"]=> float(9876543) ["c3"]=> float(9876543) ["c4"]=> float(9876543.21) ["c5"]=> float(9876543.21) ["c6"]=> string(10) "9876543.21" } } //如果設定 PDO::ATTR_EMULATE_PREPARES => true ,則輸出: array(3) { [0]=> array(6) { ["c1"]=> string(2) "32" ["c2"]=> string(4) "32.1" ["c3"]=> string(5) "32.10" ["c4"]=> string(4) "32.1" ["c5"]=> string(5) "32.10" ["c6"]=> string(5) "32.10" } [1]=> array(6) { ["c1"]=> string(2) "43" ["c2"]=> string(5) "43.21" ["c3"]=> string(5) "43.21" ["c4"]=> string(5) "43.21" ["c5"]=> string(5) "43.21" ["c6"]=> string(5) "43.21" } [2]=> array(6) { ["c1"]=> string(7) "9876543" ["c2"]=> string(7) "9876540" ["c3"]=> string(10) "9876543.00" ["c4"]=> string(10) "9876543.21" ["c5"]=> string(10) "9876543.21" ["c6"]=> string(10) "9876543.21" } }