Latest web development tutorials

PDO::setAttribute

PHP PDO 參考手冊 PHP PDO參考手冊

PDO::setAttribute — 設置屬性(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)


說明

語法

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

設置數據庫句柄屬性。 下面列出了一些可用的通用屬性;有些驅動可能使用另外的特定屬性。

  • PDO::ATTR_CASE :強制列名為指定的大小寫。

    • PDO::CASE_LOWER :強制列名小寫。

    • PDO::CASE_NATURAL :保留數據庫驅動返回的列名。

    • PDO::CASE_UPPER :強制列名大寫。

  • PDO::ATTR_ERRMODE :錯誤報告。

    • PDO::ERRMODE_SILENT :僅設置錯誤代碼。

    • PDO::ERRMODE_WARNING :引發E_WARNING錯誤

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

  • PDO::ATTR_ORACLE_NULLS (在所有驅動中都可用,不僅限於Oracle):轉換NULL和空字符串。

    • PDO::NULL_NATURAL :不轉換。

    • PDO::NULL_EMPTY_STRING :將空字符串轉換成NULL

    • PDO::NULL_TO_STRING :將NULL轉換成空字符串。

  • PDO::ATTR_STRINGIFY_FETCHES :提取的時候將數值轉換為字符串。 需要bool

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

  • PDO::ATTR_TIMEOUT :指定超時的秒數。 並非所有驅動都支持此選項,這意味著驅動和驅動之間可能會有差異。 比如,SQLite等待的時間達到此值後就放棄獲取可寫鎖,但其他驅動可能會將此值解釋為一個連接或讀取超時的間隔。 需要int 類型。

  • PDO::ATTR_AUTOCOMMIT (在OCI,Firebird以及MySQL中可用):是否自動提交每個單獨的語句。

  • PDO::ATTR_EMULATE_PREPARES啟用或禁用預處理語句的模擬。 有些驅動不支持或有限度地支持本地預處理。 使用此設置強制PDO總是模擬預處理語句(如果為TRUE ),或試著使用本地預處理語句(如果為FALSE )。 如果驅動不能成功預處理當前查詢,它將總是回到模擬預處理語句上。 需要bool類型。

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

  • PDO::ATTR_DEFAULT_FETCH_MODE :設置默認的提取模式。 關於模式的說明可以在PDOStatement::fetch()文檔找到。


返回值

成功時返回TRUE, 或者在失敗時返回FALSE。