首頁 >資料庫 >mysql教程 >如何在 PHP 中從 MySQL 檢索整數和數字列作為其本機類型?

如何在 PHP 中從 MySQL 檢索整數和數字列作為其本機類型?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-07 05:25:16227瀏覽

How to Retrieve Integer and Numeric Columns as Their Native Types from MySQL in PHP?

如何在 PHP 中將 MySQL 中的整數和數字列作為整數和數字傳回?

在 PHP 中使用 MySQL 資料庫時,確保正確檢索和表示整數和數字列至關重要。 PHP 中的 PDO 擴充功能提供了一種方法來執行此操作,但如果未使用 MySQL 本機驅動程序,則可能會出現問題。

為什麼整數列以字串形式傳回

MySQL 本機驅動程式不支援以整數和數位形式傳回數值。這意味著,預設情況下,所有列都作為字串檢索。即使 PDO 標誌 PDO::ATTR_STRINGIFY_FETCHES 設定為 false,驅動程式的行為也不會改變。

如何修復它

解決方案是切換到 mysqlnd PHP 驅動程式。此驅動程式支援以原生 PHP 類型傳回整數和數值。

安裝

要在Ubuntu 上安裝mysqlnd 驅動程序,您可以使用以下步驟:

  1. 刪除舊的MySQL程式: apt-get remove php5-mysql
  2. 安裝mysqlnd驅動:apt-get install php5-mysqlnd
  3. 重啟Apache:service apache2 restart

驗證

要驗證是否正在使用mysqlnd 驅動程序,請運行php -i。輸出現在應在 pdo_mysql 部分中包含“mysqlnd”。

PDO 設定

確保正確設定以下PDO 設定:

  • PDO::ATTR_EMULATE_PRRES 應該是🎜>
  • PDO::ATTR_EMULATE_PRRES 應該是🎜> ::ATTR_STRINGIFY_FETCHES 應該為false

傳回值

使用mysqlnd 驅動程序,使用下列傳回值

    浮點類型(FLOAT, UBLE ):PHP浮點數
  • 整數型別(INTEGER、INT、SMALLINT、TINYINT、MEDIUMINT、BIGINT):PHP 整數
  • 定點型別(DECIMAL、NUMERIC): strings

範例

切換到 mysqlnd 驅動後,您將能夠正確擷取整數和數值:

以上是如何在 PHP 中從 MySQL 檢索整數和數字列作為其本機類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn