首頁 > 資料庫 > mysql教程 > 為什麼我的 MySQL 數值在 PHP 中以字串形式傳回,如何修復?

為什麼我的 MySQL 數值在 PHP 中以字串形式傳回,如何修復?

Barbara Streisand
發布: 2024-12-05 07:29:11
原創
666 人瀏覽過

Why Are My MySQL Numeric Values Returned as Strings in PHP, and How Can I Fix It?

解決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 浮點數一樣的浮點類型(FLOAT、DOUBLE)

PHP中的整數類型(INTEGER、INT、SMALLINT、TINYINT、MEDIUMINT、BIGINT)整數

定點類型(DECIMAL、NUMERIC)作為字串(注意:超過64 位元的BIGINT 也將作為字串傳回)

    傳回值的範例如下:

以上是為什麼我的 MySQL 數值在 PHP 中以字串形式傳回,如何修復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板