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。