佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > php PDO屬性設(shè)置與操作方法分析

php PDO屬性設(shè)置與操作方法分析

熱門標(biāo)簽:電子圍欄 銀行業(yè)務(wù) 科大訊飛語音識別系統(tǒng) Mysql連接數(shù)設(shè)置 團(tuán)購網(wǎng)站 Linux服務(wù)器 服務(wù)器配置 阿里云

本文實例講述了php PDO屬性設(shè)置與操作方法。分享給大家供大家參考,具體如下:

設(shè)置PDO在處理數(shù)據(jù)的過程中采用什么方式去處理

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

PDO::getAttribute:獲取屬性

語法:

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

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

參數(shù)

$attribute

PDO::ATTR_CASE:強制列名為指定的大小寫。他的$value可為:

  • PDO::CASE_LOWER:強制列名小寫。
  • PDO::CASE_NATURAL:保留數(shù)據(jù)庫驅(qū)動返回的列名。
  • PDO::CASE_UPPER:強制列名大寫。

PDO::ATTR_ERRMODE:錯誤報告。他的$value可為:

  • PDO::ERRMODE_SILENT: 僅設(shè)置錯誤代碼。
  • PDO::ERRMODE_WARNING: 引發(fā) E_WARNING 錯誤
  • PDO::ERRMODE_EXCEPTION: 拋出 exceptions 異常。

PDO::ATTR_ORACLE_NULLS (在所有驅(qū)動中都可用,不僅限于Oracle): 轉(zhuǎn)換 NULL 和空字符串。他的$value可為:

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

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

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

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

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

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

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

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

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

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

常用屬性

PDO::ATTR_AUTOCOMMIT:設(shè)置當(dāng)前連接Mysql服務(wù)器的客戶端的SQL語句是否自動執(zhí)行,默認(rèn)是自動提交

//自動提交屬性
var_dump($pdo->getAttribute(PDO::ATTR_AUTOCOMMIT));  //1
$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,0);
var_dump($pdo->getAttribute(PDO::ATTR_AUTOCOMMIT)); //0

PDO::ATTR_CASE:當(dāng)pdo從結(jié)果集中獲取數(shù)據(jù)的時候,如何處理對應(yīng)的字段的名字

  • PDO::CASE_LOWER:將所有字段都小寫顯示
  • PDO::CASE_UPPER:所有字段都大寫顯示
  • PDO::CASE_NATURAL:原本怎么樣就怎么樣
$pdo->setAttribute(PDO::ATTR_CASE,PDO::CASE_NATURAL);
//或 $pdo->setAttribute(PDO::ATTR_CASE,1);
var_dump(PDO::CASE_UPPER);   //1 轉(zhuǎn)換為大寫
var_dump(PDO::CASE_LOWER);   //2 轉(zhuǎn)換為小寫
var_dump(PDO::CASE_NATURAL);  //0 是怎樣就是怎樣
$sql = "select * from user ";
$stmt = $pdo->query($sql);
var_dump($stmt->fetch(PDO::FETCH_ASSOC));

PDO::ATTR_ERRMODE:錯誤模式,當(dāng)pdo出現(xiàn)錯誤的時候到底使用哪種模式進(jìn)行處理

  • PDO::ERRMODE_SILENT:靜默模式,默認(rèn)的出錯了不管
  • PDO::ERRMODE_WARNING:警告模式,如果出錯了就會報出警告
  • PDO::ERRMODE_EXCEPTION:異常模式,如果出錯會采用異常來處理(PDOException)
var_dump($pdo->getAttribute(PDO::ATTR_ERRMODE));
var_dump(PDO::ERRMODE_SILENT);    //0 靜默模式,默認(rèn)的出錯了不管
var_dump(PDO::ERRMODE_WARNING);    //1 警告模式,如果出錯了就會報出警告
var_dump(PDO::ERRMODE_EXCEPTION);  //2 異常模式,如果出錯會采用異常來處理(PDOException)

PDO::ATTR_PERSISTENT:當(dāng)前對Mysql服務(wù)器的連接是否是長連接

  • TRUE:是長連接(長連接的使用必須要配合:Apache(connection:keepAlive),Mysqld)
  • FALSE:默認(rèn)的,非長連接

什么情況下使用長連接?

不同的腳本的執(zhí)行間距非常短,同時每個腳本都要操作數(shù)據(jù)庫(Mysql:mysql_pconnect())

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP基于pdo操作數(shù)據(jù)庫技巧總結(jié)》、《php+Oracle數(shù)據(jù)庫程序設(shè)計技巧總結(jié)》、《PHP+MongoDB數(shù)據(jù)庫操作技巧大全》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家PHP程序設(shè)計有所幫助。

您可能感興趣的文章:
  • PHP中PDO連接數(shù)據(jù)庫中各種DNS設(shè)置方法小結(jié)
  • PHP PDO fetch 模式各種參數(shù)的輸出結(jié)果一覽
  • PHP5中使用PDO連接數(shù)據(jù)庫的方法
  • PHP PDO函數(shù)庫詳解
  • php使用PDO方法詳解
  • php中mysql連接方式PDO使用詳解
  • PHP中PDO的錯誤處理
  • php中在PDO中使用事務(wù)(Transaction)
  • php中PDO方式實現(xiàn)數(shù)據(jù)庫的增刪改查
  • php使用pdo連接并查詢sql數(shù)據(jù)庫的方法
  • php mysql PDO 查詢操作的實例詳解
  • php使用pdo連接mssql server數(shù)據(jù)庫實例

標(biāo)簽:江蘇 衡水 棗莊 蚌埠 大理 廣元 衢州 萍鄉(xiāng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《php PDO屬性設(shè)置與操作方法分析》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    江陵县| 宜兰县| 屯昌县| 桦甸市| 淮滨县| 鄱阳县| 响水县| 宁化县| 张掖市| 翁源县| 东乡县| 辽源市| 八宿县| 镇江市| 黄龙县| 郓城县| 策勒县| 商都县| 枣阳市| 三台县| 丰原市| 和龙市| 仁化县| 黄平县| 贵州省| 汶川县| 安庆市| 泰和县| 绥芬河市| 佛冈县| 建瓯市| 上饶市| 鹤岗市| 中山市| 鄄城县| 门源| 濮阳县| 南投县| 军事| 横峰县| 资阳市|