博客 / 詳情

返回

PHP的PDO對數字的默認處理導致的莫名其妙的錯誤

PDO::ATTR_STRINGIFY_FETCHES (integer)
PHP 官方文檔的解釋是:強制以字符串方式對待所有的值。
這個選項開啓後,就會導致 1 變成 '1'這樣的問題,我選擇關閉。

PDO::ATTR_EMULATE_PREPARES (integer)
PDO::ATTR_EMULATE_PREPARES 啓用或禁用預處理語句的模擬。 有些驅動不支持或有限度地支持本地預處理。使用此設置強制PDO總是模擬預處理語句(如果為 true ),或試着使用本地預處理語句(如果為 false)。如果驅動不能成功預處理當前查詢,它將總是回到模擬預處理語句上。 需要 bool 類型。(參考:https://www.php.net/manual/zh...)

這個問題我現在還沒有碰到,網上有位開發者碰到了,並且給大家解釋了一下這個選項的影響:PDO::ATTR_EMULATE_PREPARES屬性設置為false引發的血案

所以這個選項大家根據自己的需求來設置吧。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.