(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDO::setAttribute — 設置屬性
設置數據庫句柄屬性。下面列出了一些可用的通用屬性;有些驅動(dòng)可能使用另外的特定屬性。
PDO::ATTR_CASE
:強制列名為指定的大小寫(xiě)。
PDO::CASE_LOWER
:強制列名小寫(xiě)。
PDO::CASE_NATURAL
:保留數據庫驅動(dòng)返回的列名。
PDO::CASE_UPPER
:強制列名大寫(xiě)。
PDO::ATTR_ERRMODE
:錯誤報告。
PDO::ERRMODE_SILENT
:
僅設置錯誤代碼。
PDO::ERRMODE_WARNING
:
引發(fā) E_WARNING 錯誤
PDO::ERRMODE_EXCEPTION
:
拋出 exceptions 異常。
PDO::ATTR_ORACLE_NULLS
(在所有驅動(dòng)中都可用,不僅限于Oracle):
轉換 NULL 和空字符串。
PDO::NULL_NATURAL
:
不轉換。
PDO::NULL_EMPTY_STRING
:
將空字符串轉換成 null
。
PDO::NULL_TO_STRING
:
將 NULL 轉換成空字符串。
PDO::ATTR_STRINGIFY_FETCHES
:
提取的時(shí)候將數值轉換為字符串。
Requires bool.
PDO::ATTR_STATEMENT_CLASS
:
設置從PDOStatement派生的用戶(hù)提供的語(yǔ)句類(lèi)。
不能用于持久的PDO實(shí)例。
需要 array(string 類(lèi)名, array(mixed 構造函數的參數))
。
PDO::ATTR_TIMEOUT
:
指定超時(shí)的秒數。并非所有驅動(dòng)都支持此選項,這意味著(zhù)驅動(dòng)和驅動(dòng)之間可能會(huì )有差異。比如,SQLite等待的時(shí)間達到此值后就放棄獲取可寫(xiě)鎖,但其他驅動(dòng)可能會(huì )將此值解釋為一個(gè)連接或讀取超時(shí)的間隔。
需要 int 類(lèi)型。
PDO::ATTR_AUTOCOMMIT
(在OCI,Firebird 以及 MySQL中可用):
是否自動(dòng)提交每個(gè)單獨的語(yǔ)句。
PDO::ATTR_EMULATE_PREPARES
啟用或禁用預處理語(yǔ)句的模擬。 有些驅動(dòng)不支持或有限度地支持本地預處理。使用此設置強制PDO總是模擬預處理語(yǔ)句(如果為 true
),或試著(zhù)使用本地預處理語(yǔ)句(如果為 false
)。如果驅動(dòng)不能成功預處理當前查詢(xún),它將總是回到模擬預處理語(yǔ)句上。
需要 bool 類(lèi)型。
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY
(在MySQL中可用):
使用緩沖查詢(xún)。
PDO::ATTR_DEFAULT_FETCH_MODE
:
設置默認的提取模式。關(guān)于模式的說(shuō)明可以在 PDOStatement::fetch() 文檔找到。
成功時(shí)返回 true
, 或者在失敗時(shí)返回 false
。