久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      PHP數(shù)據(jù)庫(kù)學(xué)習(xí)之怎樣設(shè)置與獲取PDO屬性?

      在之前的文章中給大家?guī)?lái)了《PHP數(shù)據(jù)庫(kù)學(xué)習(xí)之PDO怎樣進(jìn)行錯(cuò)誤處理?》,其中詳細(xì)的介紹了PHP中PDO錯(cuò)誤處理的相關(guān)知識(shí),本篇文章我們一起來(lái)看一下PHP中怎樣設(shè)置與獲取PDO屬性。希望對(duì)大家有幫助!

      PHP數(shù)據(jù)庫(kù)學(xué)習(xí)之怎樣設(shè)置與獲取PDO屬性?

      在之前的文章中我們了解了PHP中的PDO錯(cuò)誤處理有關(guān)問(wèn)題,那接下來(lái)就來(lái)了解一下怎樣設(shè)置與獲取PDO屬性。在 PDO 對(duì)象中有很多屬性可以用來(lái)調(diào)整 PDO 的行為或獲取底層驅(qū)動(dòng)程序狀態(tài)。

      如果在創(chuàng)建 PDO 對(duì)象時(shí),沒(méi)有在構(gòu)造方法中最后一個(gè)參數(shù)設(shè)置過(guò)的屬性選項(xiàng),可以在對(duì)象創(chuàng)建完成以后,通過(guò) PDO 對(duì)象中的 setAttribute()getAttribute() 方法設(shè)置和獲取這些屬性的值。那接下來(lái)就讓我們一起來(lái)了解一下這兩個(gè)方法吧。

      getAttribute() 方法

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

      PDO::getAttribute(int $attribute)

      其中需要注意的是:

      參數(shù) $attribute PDO::ATTR_* 常量中的一個(gè),應(yīng)用到數(shù)據(jù)庫(kù)連接中的常量有很多,

      我們先通過(guò)示例先看一下,然后在做總結(jié),示例如下:

      <?php     header("Content-Type: text/html;charset=utf-8");     $opt = [PDO::ATTR_PERSISTENT=>TRUE];     try{         $pdo = new PDO('mysql:dbname=test;host=127.0.0.1','root','root',$opt);     }catch(PDOException $e){         echo '數(shù)據(jù)庫(kù)連接失?。?#39;.$e->getMessage();         exit();     }     echo 'PDO 是否關(guān)閉自動(dòng)提交功能:'.$pdo -> getAttribute(PDO::ATTR_AUTOCOMMIT);     echo '<br>當(dāng)前 PDO 的錯(cuò)誤處理模式:'.$pdo -> getAttribute(PDO::ATTR_ERRMODE);     echo '<br>表字段字符的大小寫轉(zhuǎn)換:'.$pdo -> getAttribute(PDO::ATTR_CASE);     echo '<br>空字符串轉(zhuǎn)換為 SQL 的 null:'.$pdo -> getAttribute(PDO::ATTR_ORACLE_NULLS);     echo '<br>應(yīng)用程序提前獲取數(shù)據(jù)大?。?#39;.$pdo -> getAttribute(PDO::ATTR_PERSISTENT); ?>

      輸出結(jié)果:

      PHP數(shù)據(jù)庫(kù)學(xué)習(xí)之怎樣設(shè)置與獲取PDO屬性?

      由上述結(jié)果,我們總結(jié)一下:

      PDO::ATTR_AUTOCOMMIT表示的是PDO 是否關(guān)閉自動(dòng)提交功能,PDO::ATTR_ERRMODE表示的是當(dāng)前 PDO 的錯(cuò)誤處理模式,PDO::ATTR_CASE表示的是表字段字符的大小寫轉(zhuǎn)換, PDO::ATTR_ORACLE_NULLS表示的是空字符串轉(zhuǎn)換為 SQL 的 null,PDO::ATTR_PERSISTENT表示的是應(yīng)用程序提前獲取數(shù)據(jù)大小。

      不止這些,再給大家總結(jié)一下一些常用的應(yīng)用到數(shù)據(jù)庫(kù)連接中的常量:

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

      • PDO::ATTR_SERVER_INFO 表示數(shù)據(jù)庫(kù)特有的服務(wù)器信息。

      • PDO::ATTR_SERVER_VERSION 表示數(shù)據(jù)庫(kù)服務(wù)器版本號(hào)。

      • PDO::ATTR_CLIENT_VERSION 表示數(shù)據(jù)庫(kù)客戶端版本號(hào)。

      了解了getAttribute() 方法,接下來(lái)我們來(lái)看一下setAttribute() 方法的相關(guān)知識(shí),一起看看吧。

      setAttribute() 方法

      setAttribute() 方法可以用來(lái)設(shè)置數(shù)據(jù)庫(kù)句柄的屬性,setAttribute() 就比getAttribute()要稍微復(fù)雜些了,它的語(yǔ)法格式如下:

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

      其中我們需要注意的是:

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

      PDO::ATTR_CASE 表示可以強(qiáng)制列名為指定的大小寫,其中PDO::CASE_LOWER 表示強(qiáng)制列名小寫;PDO::CASE_NATURAL 表示保留數(shù)據(jù)庫(kù)驅(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)換成空字符串。

      接下來(lái)我們通過(guò)示例來(lái)看一下使用 setAttribute() 方法設(shè)置數(shù)據(jù)庫(kù)句柄的屬性,示例如下:

      <?php     header("Content-Type: text/html;charset=utf-8");     $pdo = new PDO('mysql:dbname=test;host=127.0.0.1','root','root',$opt);     $pdo->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 '<br>PDO::ATTR_CASE屬性的值為:'.$pdo -> getAttribute(PDO::ATTR_CASE);     $pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_NATURAL);     echo '<br>PDO::ATTR_CASE屬性的值為:'.$pdo -> getAttribute(PDO::ATTR_CASE); ?>

      輸出結(jié)果:

      PHP數(shù)據(jù)庫(kù)學(xué)習(xí)之怎樣設(shè)置與獲取PDO屬性?

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

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

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

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

      • PDO::ATTR_DEFAULT_FETCH_MODE 表示設(shè)置默認(rèn)的提取模式。

      • PDO::MYSQL_ATTR_USE_BUFFERED_QUERY 表示使用緩沖查詢,它在MySQL數(shù)據(jù)庫(kù)中可用。

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

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

      大家如果感興趣的話,可以點(diǎn)擊《PHP視頻教程》進(jìn)行

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)