PDO::setAttribute

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDO::setAttribute 設(shè)置屬性

說明

PDO::setAttribute(int $attribute, mixed $value): bool

設(shè)置數(shù)據(jù)庫句柄屬性。下面列出了一些可用的通用屬性;有些驅(qū)動(dòng)可能使用另外的特定屬性。

  • PDO::ATTR_CASE:強(qiáng)制列名為指定的大小寫。

    • PDO::CASE_LOWER:強(qiáng)制列名小寫。

    • PDO::CASE_NATURAL:保留數(shù)據(jù)庫驅(qū)動(dòng)返回的列名。

    • PDO::CASE_UPPER:強(qiáng)制列名大寫。

  • PDO::ATTR_ERRMODE:錯(cuò)誤報(bào)告。

    • PDO::ERRMODE_SILENT: 僅設(shè)置錯(cuò)誤代碼。

    • PDO::ERRMODE_WARNING: 引發(fā) E_WARNING 錯(cuò)誤

    • PDO::ERRMODE_EXCEPTION: 拋出 exceptions 異常。

  • PDO::ATTR_ORACLE_NULLS (在所有驅(qū)動(dòng)中都可用,不僅限于Oracle): 轉(zhuǎn)換 NULL 和空字符串。

    • PDO::NULL_NATURAL: 不轉(zhuǎn)換。

    • PDO::NULL_EMPTY_STRING: 將空字符串轉(zhuǎn)換成 null。

    • PDO::NULL_TO_STRING: 將 NULL 轉(zhuǎn)換成空字符串。

  • PDO::ATTR_STRINGIFY_FETCHES: 提取的時(shí)候?qū)?shù)值轉(zhuǎn)換為字符串。 Requires bool.

  • PDO::ATTR_STATEMENT_CLASS: 設(shè)置從PDOStatement派生的用戶提供的語句類。 不能用于持久的PDO實(shí)例。 需要 array(string 類名, array(mixed 構(gòu)造函數(shù)的參數(shù)))。

  • PDO::ATTR_TIMEOUT: 指定超時(shí)的秒數(shù)。并非所有驅(qū)動(dòng)都支持此選項(xiàng),這意味著驅(qū)動(dòng)和驅(qū)動(dòng)之間可能會(huì)有差異。比如,SQLite等待的時(shí)間達(dá)到此值后就放棄獲取可寫鎖,但其他驅(qū)動(dòng)可能會(huì)將此值解釋為一個(gè)連接或讀取超時(shí)的間隔。 需要 int 類型。

  • PDO::ATTR_AUTOCOMMIT (在OCI,F(xiàn)irebird 以及 MySQL中可用): 是否自動(dòng)提交每個(gè)單獨(dú)的語句。

  • PDO::ATTR_EMULATE_PREPARES 啟用或禁用預(yù)處理語句的模擬。 有些驅(qū)動(dòng)不支持或有限度地支持本地預(yù)處理。使用此設(shè)置強(qiáng)制PDO總是模擬預(yù)處理語句(如果為 true ),或試著使用本地預(yù)處理語句(如果為 false)。如果驅(qū)動(dòng)不能成功預(yù)處理當(dāng)前查詢,它將總是回到模擬預(yù)處理語句上。 需要 bool 類型。

  • PDO::MYSQL_ATTR_USE_BUFFERED_QUERY (在MySQL中可用): 使用緩沖查詢。

  • PDO::ATTR_DEFAULT_FETCH_MODE: 設(shè)置默認(rèn)的提取模式。關(guān)于模式的說明可以在 PDOStatement::fetch() 文檔找到。

返回值

成功時(shí)返回 true, 或者在失敗時(shí)返回 false。