首頁 > 資料庫 > mysql教程 > 為什麼 MySQL 整數在 PDO 中以字串形式傳回,以及如何以數字形式檢索它們?

為什麼 MySQL 整數在 PDO 中以字串形式傳回,以及如何以數字形式檢索它們?

Linda Hamilton
發布: 2024-12-24 02:32:17
原創
511 人瀏覽過

Why are MySQL integers returned as strings in PDO, and how can I retrieve them as numbers?

使用PDO 從MySQL 擷取數位類型

問題:

問題:

問題:

從DOSQL 資料庫使用PDO ,整數值作為字串而不是數字類型傳回,即使當PDO 類別屬性PDO::ATTR_STRINGIFY_FETCHES 設定為 false。

答案:

理解數字類型問題:

It's資料庫通常以字串形式傳回數值。這是因為某些資料庫驅動程式(例如 MySQL 的預設驅動程式)將所有值視為字串。

防止字串化:

array(
    PDO::ATTR_EMULATE_PREPARES => false
)
登入後複製
為了防止值作為字串傳回,必須使用 MySQL 本機驅動程式 (mysqlnd)。此驅動程式支援檢索本機資料類型,包括數位類型。

設定mysqlnd:

$dsn = 'mysql:host=localhost;dbname=my_db';
$user = 'root';
$pass = 'password';

$pdo = new PDO($dsn, $user, $pass, array(
    PDO::ATTR_EMULATE_PREPARES => false
));
登入後複製

要使用mysqlnd,必須將以下設定加入PDO 連線選項陣列:

範例範例代碼:透過將PDO::ATTR_EMULATE_PREPARES 設定為 false,準備好的語句模擬將被關閉,允許 mysqlnd 檢索數值作為正確的資料類型。

以上是為什麼 MySQL 整數在 PDO 中以字串形式傳回,以及如何以數字形式檢索它們?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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