pdo是什么意思介紹如下:
成都創(chuàng)新互聯(lián)專(zhuān)注于普蘭企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),商城網(wǎng)站制作。普蘭網(wǎng)站建設(shè)公司,為普蘭等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站制作,專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)
PDO(PHP Data Objects)是一種在PHP里連接數(shù)據(jù)庫(kù)的使用接口。PDO與mysqli曾經(jīng)被建議用來(lái)取代原本PHP在用的mysql相關(guān)函數(shù),基于數(shù)據(jù)庫(kù)使用的安全性,因?yàn)楹笳咔啡睂?duì)于SQL注入的防護(hù)。
PHP 數(shù)據(jù)對(duì)象(PDO) 擴(kuò)展為PHP訪問(wèn)數(shù)據(jù)庫(kù)定義了一個(gè)輕量級(jí)的一致接口。實(shí)現(xiàn) PDO 接口的每個(gè)數(shù)據(jù)庫(kù)驅(qū)動(dòng)可以公開(kāi)具體數(shù)據(jù)庫(kù)的特性作為標(biāo)準(zhǔn)擴(kuò)展功能。 注意利用 PDO 擴(kuò)展自身并不能實(shí)現(xiàn)任何數(shù)據(jù)庫(kù)功能;必須使用一個(gè)具體數(shù)據(jù)庫(kù)的 PDO 驅(qū)動(dòng)來(lái)訪問(wèn)數(shù)據(jù)庫(kù)服務(wù)。
相關(guān)信息:
PDO 提供了一個(gè)數(shù)據(jù)訪問(wèn)抽象層,這意味著,不管使用哪種數(shù)據(jù)庫(kù),都可以用相同的函數(shù)(方法)來(lái)查詢(xún)和獲取數(shù)據(jù)。 PDO不提供數(shù)據(jù)庫(kù)抽象層;它不會(huì)重寫(xiě) SQL,也不會(huì)模擬缺失的特性。如果需要的話,應(yīng)該使用一個(gè)成熟的抽象層。
從 PHP 5.1開(kāi)始附帶了 PDO,在 PHP 5.0 中是作為一個(gè) PECL 擴(kuò)展使用。 PDO 需要PHP 5核心的新OO特性,因此不能在較早版本的 PHP 上運(yùn)行。
測(cè)試代碼如下:?php/**************************@Filename: pdotest.php@Content : PDO操作MySQL,Access(測(cè)試)**************************/if($_GET['db'] == 'mysql'){ $dns = 'mysql:host=localhost;dbname=test'; $dbuser = 'root'; $dbpass = 'root'; $db = new PDO($dns,$dbuser,$dbpass);}else{ $db = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=".getcwd()."http://test.mdb");}if($_POST['reg']){ $db-exec("INSERT INTO t_user (name,email) VALUES ('".$_POST['name']."','".$_POST['email']."') ;"); // header('Location:'.$_SERVER['PHP_SELF']); ? a href="pdotest.php"返回/a ?}else{ $html = 'div id="new" form action="'.$_SERVER['REQUEST_URI'].'" method="post" Name: input type="text" name="name" size="10" / Email: input type="text" name="email" size="15" / input type="submit" name="reg" value="Register" / /form/div'; $re = $db-query("SELECT uid,name,email FROM t_user ORDER BY email ;"); while($rs = $re-fetch()) { $userlisthtml .= 'trtd'.$rs['uid'].'/tdtd'.$rs['name'].'/tdtd'.$rs['email'].'/td/tr'; } $html .= 'div id="list" table border="1" captionUser List/caption thead trthID/ththName/ththEmail/th/tr /thead tbody'.$userlisthtml.' /tbody /table/div';}echo $html;?
對(duì)接口的使用方式是通過(guò)關(guān)鍵字implements來(lái)實(shí)現(xiàn)的,而對(duì)于抽象類(lèi)的操作是使用類(lèi)繼承的關(guān)鍵字exotends實(shí)現(xiàn)的,使用時(shí)要特別注意。
接口沒(méi)有數(shù)據(jù)成員,但是抽象類(lèi)有數(shù)據(jù)成員,抽象類(lèi)可以實(shí)現(xiàn)數(shù)據(jù)的封裝。
接口沒(méi)有構(gòu)造函數(shù),抽象類(lèi)可以有構(gòu)造函數(shù)。
接口中的方法都是public類(lèi)型,而抽象類(lèi)中的方法可以使用private、protected或public來(lái)修飾。
一個(gè)類(lèi)可以同時(shí)實(shí)現(xiàn)多個(gè)接口,但是只能實(shí)現(xiàn)一個(gè)抽象類(lèi)。 就這樣簡(jiǎn)單, 如果你還不明白的話,你可以在后盾人看看教材視頻,多看看幾遍,慢慢的不就會(huì)了,如果嫌棄麻煩,你可以直接去后盾網(wǎng)問(wèn)問(wèn)那些專(zhuān)家講師,他們很樂(lè)意幫你的,希望能幫到你,給個(gè)采納吧謝謝,(●???●)
PHP5開(kāi)始支持抽象類(lèi)和抽象方法,如果一個(gè)類(lèi)里至少有一個(gè)方法是抽象方法,那這個(gè)類(lèi)就是抽象類(lèi),必須使用abstract聲明為抽象類(lèi)。
1、抽象類(lèi)不可實(shí)例化,主要用于子類(lèi)繼承。
2、子類(lèi)需要實(shí)現(xiàn)抽象類(lèi)的所有抽象方法。抽象方法只定義調(diào)用方式,不實(shí)現(xiàn)具體功能,所有的功能交給子類(lèi)去實(shí)現(xiàn)。
3、子類(lèi)方法的訪問(wèn)控制必須跟抽象類(lèi)一樣,或者是更為寬松,比如抽象方法是受保護(hù)的,子類(lèi)實(shí)現(xiàn)的時(shí)候就需要聲明成受保護(hù)的或者是公有的。
4、方法所需參數(shù)也必須一致
5、抽象方法不能定義為私有。
以上是本文的全部?jī)?nèi)容,有問(wèn)題可以在評(píng)論區(qū)留言交流,大家可以分享關(guān)注。