解決PHP 從MySQL 傳回整數和數值的差異
使用PHP 從MySQL 擷取資料時,可能會遇到以下問題:遇到類型不一致,其中整數和數字列作為字串而不是其預期資料傳回類型。
驅動程式問題
確定用於資料庫連接的底層驅動程式至關重要。該問題通常源於使用本機 MySQL 驅動程序,該驅動程式缺乏將數字類型作為整數傳回的能力。
識別 MySQLnd 驅動程式
確定您是否使用本機 MySQL 驅動程式檢查 php -i 的輸出。如果 pdo_mysql 部分中沒有提及“mysqlnd”,則您可能使用的是本機驅動程式。
切換到 MySQLnd 驅動程式
解決方案在於切換到 mysqlnd 驅動程序,它支援正確返回數字類型。在 Ubuntu。 >
sudo apt-get remove php5-mysql sudo apt-get install php5-mysqlnd sudo service apache2 restart
已傳回值
執行上述步驟後,MySQL 查詢結果會如預期傳回數字類型:$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);
PHP中的整數類型(INTEGER、INT、SMALLINT、TINYINT、MEDIUMINT、BIGINT)整數
定點類型(DECIMAL、NUMERIC)作為字串(注意:超過64 位元的BIGINT 也將作為字串傳回)以上是為什麼我的 MySQL 數值在 PHP 中以字串形式傳回,如何修復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!