PDO 查詢mysql返回字段整型變為String型解決方法
PDO 查詢mysql返回字段整型變為String型解決方法
使用PDO查詢mysql數據庫時。運行prepare,execute後,返回的字段數據全都變為字符型。
比如id在數據庫中是Int的。查詢後返回是String型。
對於php這樣的弱類型的語言。影響不大。
在做API返回數據時。假設類型與數據庫不一致,對於java和Objective C這些強類型,影響就非常大了。
解決方法:
<?php
$pdo = new PDO($dsn, $user, $pass, $param);
// 在創建連接後。增加
$pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES , false);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
?>
這兩句設置的作用
PDO::ATTR_STRINGIFY_FETCHES 提取的時候將數值轉換為字符串。
PDO::ATTR_EMULATE_PREPARES 啟用或禁用預處理語句的模擬。
很多其它PDO setAttribute可參考:http://php.net/manual/zh/pdo.setattribute.php
PDO 查詢mysql返回字段整型變為String型解決方法