真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

PHP數據庫學習之如何設置與獲取PDO屬性

本篇內容主要講解“PHP數據庫學習之如何設置與獲取PDO屬性”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“PHP數據庫學習之如何設置與獲取PDO屬性”吧!

專業(yè)領域包括成都網站制作、網站建設、商城網站建設、微信營銷、系統(tǒng)平臺開發(fā), 與其他網站設計及系統(tǒng)開發(fā)公司不同,創(chuàng)新互聯的整合解決方案結合了幫做網絡品牌建設經驗和互聯網整合營銷的理念,并將策略和執(zhí)行緊密結合,為客戶提供全網互聯網整合方案。

PHP數據庫學習之如何設置與獲取PDO屬性

接下來就來了解一下怎樣設置與獲取PDO屬性。在 PDO 對象中有很多屬性可以用來調整 PDO 的行為或獲取底層驅動程序狀態(tài)。

如果在創(chuàng)建 PDO 對象時,沒有在構造方法中最后一個參數設置過的屬性選項,可以在對象創(chuàng)建完成以后,通過 PDO 對象中的 setAttribute()getAttribute() 方法設置和獲取這些屬性的值。那接下來就讓我們一起來了解一下這兩個方法吧。

getAttribute() 方法

getAttribute() 方法只需要提供一個參數,就能夠傳遞一個代表這個參數的特定屬性名稱,執(zhí)行成功后會返回該屬性所指定的值,否則返回 NULL。很容易理解,它的語法格式如下:

PDO::getAttribute(int $attribute)

其中需要注意的是:

參數 $attribute PDO::ATTR_* 常量中的一個,應用到數據庫連接中的常量有很多,

我們先通過示例先看一下,然后在做總結,示例如下:

TRUE];
    try{
        $pdo = new PDO('MySQL:dbname=test;host=127.0.0.1','root','root',$opt);
    }catch(PDOException $e){
        echo '數據庫連接失?。?#39;.$e->getMessage();
        exit();
    }
    echo 'PDO 是否關閉自動提交功能:'.$pdo -> getAttribute(PDO::ATTR_AUTOCOMMIT);
    echo '
當前 PDO 的錯誤處理模式:'.$pdo -> getAttribute(PDO::ATTR_ERRMODE);     echo '
表字段字符的大小寫轉換:'.$pdo -> getAttribute(PDO::ATTR_CASE);     echo '
空字符串轉換為 SQL 的 null:'.$pdo -> getAttribute(PDO::ATTR_ORACLE_NULLS);     echo '
應用程序提前獲取數據大小:'.$pdo -> getAttribute(PDO::ATTR_PERSISTENT); ?>

輸出結果:

PHP數據庫學習之如何設置與獲取PDO屬性

由上述結果,我們總結一下:

PDO::ATTR_AUTOCOMMIT表示的是PDO 是否關閉自動提交功能,PDO::ATTR_ERRMODE表示的是當前 PDO 的錯誤處理模式,PDO::ATTR_CASE表示的是表字段字符的大小寫轉換, PDO::ATTR_ORACLE_NULLS表示的是空字符串轉換為 SQL 的 null,PDO::ATTR_PERSISTENT表示的是應用程序提前獲取數據大小。

不止這些,再給大家總結一下一些常用的應用到數據庫連接中的常量:

  • PDO::ATTR_CONNECTION_STATUS  表示與連接狀態(tài)相關的特有信息。

  • PDO::ATTR_SERVER_INFO    表示數據庫特有的服務器信息。

  • PDO::ATTR_SERVER_VERSION   表示數據庫服務器版本號。

  • PDO::ATTR_CLIENT_VERSION   表示數據庫客戶端版本號。

了解了getAttribute() 方法,接下來我們來看一下setAttribute() 方法的相關知識,一起看看吧。

setAttribute() 方法

setAttribute() 方法可以用來設置數據庫句柄的屬性,setAttribute() 就比getAttribute()要稍微復雜些了,它的語法格式如下:

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

其中我們需要注意的是:

這個方法需要兩個參數,第一個參數 $attribute 提供 PDO 對象特定的屬性名,第二個參數 $value 則是為這個指定的屬性賦一個值。

PDO::ATTR_CASE   表示可以強制列名為指定的大小寫,其中PDO::CASE_LOWER   表示強制列名小寫;PDO::CASE_NATURAL   表示保留數據庫驅動返回的列名;PDO::CASE_UPPER   表示強制列名大寫。

PDO::ATTR_ERRMODE   表示為錯誤報告,其中PDO::ERRMODE_SILENT   表示為僅設置錯誤代碼;PDO::ERRMODE_WARNING   表示為引發(fā) 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 轉換成空字符串。

接下來我們通過示例來看一下使用 setAttribute() 方法設置數據庫句柄的屬性,示例如下:

setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);
    echo 'PDO::ATTR_CASE屬性的值為:'.$pdo -> getAttribute(PDO::ATTR_CASE);
    $pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER);
    echo '
PDO::ATTR_CASE屬性的值為:'.$pdo -> getAttribute(PDO::ATTR_CASE);     $pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_NATURAL);     echo '
PDO::ATTR_CASE屬性的值為:'.$pdo -> getAttribute(PDO::ATTR_CASE); ?>

輸出結果:

PHP數據庫學習之如何設置與獲取PDO屬性

上述示例中,便是通過使用 setAttribute() 方法設置數據庫句柄的屬性。接下來再給大家整理一下可用的通用屬性名稱和可以使用的值:

  • PDO::ATTR_STRINGIFY_FETCHES    表示提取的時候將數值轉換為字符串;

  • PDO::ATTR_STATEMENT_CLASS   表示設置從 PDOStatement 派生的用戶提供的語句類。不能用于持久的 PDO 實例。

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

  • PDO::ATTR_DEFAULT_FETCH_MODE  表示設置默認的提取模式。

  • PDO::MYSQL_ATTR_USE_BUFFERED_QUERY   表示使用緩沖查詢,它在MySQL數據庫中可用。

其中我們還需要注意的有:PDO::ATTR_TIMEOUT 表示指定超時的秒數。不同驅動之間可能會有差異,比如 SQLite 等待的時間達到此值后就會放棄獲取可寫鎖,但其他驅動可能會將此值解釋為一個連接或讀取超時的間隔;

PDO::ATTR_EMULATE_PREPARES   表示啟用或禁用預處理語句的模擬。有些驅動不支持或有限度地支持本地預處理,使用此設置可以強制 PDO 總是模擬預處理語句,或試著使用本地預處理語句。如果驅動不能成功預處理當前查詢,它將總是回到模擬預處理語句上。

到此,相信大家對“PHP數據庫學習之如何設置與獲取PDO屬性”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!


本文標題:PHP數據庫學習之如何設置與獲取PDO屬性
當前路徑:http://weahome.cn/article/ieechh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部