首頁 > 資料庫 > mysql教程 > 如何使用 PDO 從 MySQL 檢索數位資料類型而不進行字串轉換?

如何使用 PDO 從 MySQL 檢索數位資料類型而不進行字串轉換?

Patricia Arquette
發布: 2024-12-22 14:09:10
原創
366 人瀏覽過

How Can I Retrieve Numeric Data Types from MySQL Using PDO Without String Conversion?

使用PDO 從MySQL 擷取數值資料類型

使用PDO 和MySQL 時,您可能會遇到從資料庫擷取的數值為作為資料庫字串而不是數字資料類型傳回。這種差異可能是由於 PHP 資料庫物件 (PDO) 擴充的預設行為造成的。

為什麼要用字串而不是數字?

不幸的是,這種情況相對常見查詢資料庫時接收字串而不是數字。發生這種情況是因為 PDO 擴充功能通常會將數值從資料庫轉換為字串,以確保與所有支援的資料庫驅動程式的兼容性。

停用字串轉換

以防止 PDO 字串化數值,您可以修改 PDO 屬性 PDO::ATTR_EMULATE_PREPARES。透過將此屬性設為 false,您可以停用預先準備語句模擬並允許 MySQL 傳回本機資料類型,包括數位類型。

$dsn = 'mysql:dbname=database;host=localhost';
$pdo = new PDO($dsn, $user, $pass, array(
    PDO::ATTR_EMULATE_PREPARES => false
));
登入後複製

PDO::ATTR_STRINGIFY_FETCHES

PDO::ATTR_STRINGIFY_FETCHES 屬性不適用於 MySQL PDO 驅動程式。此屬性適用於支援傳回字串而不是本機資料類型的其他資料庫驅動程式。

因此,透過停用 PDO 的預先準備語句模擬,您可以確保數值會作為本機資料類型傳回,從而防止字串化並允許您正確處理資料。

以上是如何使用 PDO 從 MySQL 檢索數位資料類型而不進行字串轉換?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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