PHP連接數(shù)據(jù)庫(kù)的三種方式

在php開(kāi)發(fā)過(guò)程中,我們需要連接數(shù)據(jù)庫(kù)來(lái)開(kāi)發(fā)動(dòng)態(tài)網(wǎng)站局服,連接數(shù)據(jù)庫(kù)通常有四種方式:Mysql-connect(),Mysqli,PDO,ADODB,接下來(lái)就介紹這四種數(shù)據(jù)庫(kù)連接方式的具體實(shí)現(xiàn)步驟:

Mysql_connect

這是我們剛開(kāi)始學(xué)習(xí)php時(shí)最開(kāi)始碰到到的數(shù)據(jù)庫(kù)連接方式,通過(guò)mysql_connect()函數(shù)可以返回連接結(jié)果九妈,則返回一個(gè) MySQL 連接標(biāo)識(shí),失敗則返回 FALSE脆淹。,因此可以進(jìn)行后續(xù)的操作.

代碼示例
  <?php
  $con=mysql_connect("localhost" ,"root","password")
  if($con){
    mysql_select_db("db_name",$con);
    $sql="select * from table_name where id=1";
    $result=mysql_query($sql);
    while($row=mysql_fetch_row($result)){
        echo  "$row";
    }
  }else{
    die("無(wú)法連接數(shù)據(jù)庫(kù)".mysql_error());
  }
  mysql_close($con);
  ?>
注意

這種連接方式是短連接,不是長(zhǎng)連接侣姆,若長(zhǎng)連接則使用mysql_pconnetct()

Mysqli

這是一種面向?qū)ο蟮臄?shù)據(jù)庫(kù)連接方式,在連接前需要實(shí)例化一個(gè)對(duì)象脖咐,然后通過(guò)這個(gè)對(duì)象進(jìn)行數(shù)據(jù)庫(kù)操作

代碼示例
  <?php
      $con=new mysqli("localhost","root","password","db_name");
     if(!mysqli_connect_error()){
    $sql="select * from table_name where id=1";
    $result=$con->query($sql);
    while($row=$result->fetch_row($result)){
        echo  "$row";
    }
  }else{
    die("無(wú)法連接數(shù)據(jù)庫(kù)".mysql_error());
  }

mysqli是一種長(zhǎng)連接方式,并且比mysql_connect更加安全

PDO

什么是pdo呢汇歹,pdo是php5中心加進(jìn)去的鏈接數(shù)據(jù)庫(kù)的方式,

代碼示例
  <?php
        $pdo=new      
        PDO('mysql:host=localhost;dbname=db_name',"root",
        $sql="select * from table_name where id=1";
       "password");
        try{
              $result=$pdo->query($sql);
              foreach($result as $k){
                    print_r($k);
              }
            }catch(PDOException $e){
                       echo $e->getMessage();
            }
    ?>

ADODB

不管后端數(shù)據(jù)庫(kù)如何屁擅,存取數(shù)據(jù)庫(kù)的方式都是一致的,開(kāi)發(fā)設(shè)計(jì)人員不必為了某一套數(shù)據(jù)庫(kù)产弹,而必須再學(xué)習(xí)另一套不同的存取方法派歌,這大大減輕開(kāi)發(fā)人員的知識(shí)負(fù)擔(dān),過(guò)去的知識(shí)往后仍可繼續(xù)使用

代碼示例
  require_once './adodb5/adodb.inc.php';
  $conn = &ADONewConnection('mysql');
  $conn->connect('localhost','root','','test');
  $conn->Execute("set names utf8");
  $res = $conn->Execute("select * from user");
  if (!$res){
     echo $conn->ErrorMsg();
  }else{
     var_dump($res);
   }

總結(jié)

這里有四種連接數(shù)據(jù)庫(kù)的方式痰哨,至于選擇哪種胶果,就要看每種方式的優(yōu)缺點(diǎn)。

mysql_connect()

設(shè)計(jì)開(kāi)發(fā)允許PHP應(yīng)用與MySQL數(shù)據(jù)庫(kù)交互的早期擴(kuò)展斤斧。mysql擴(kuò)展提供了一個(gè)面向過(guò)程 的接口早抠;并且是短連接,當(dāng)多次連接數(shù)據(jù)庫(kù)時(shí)撬讽,需要?jiǎng)?chuàng)建多個(gè)進(jìn)程蕊连。

mysqli

mysqli擴(kuò)展有一系列的優(yōu)勢(shì),相對(duì)于mysql擴(kuò)展的提升主要有:面向?qū)ο蠼涌凇?prepared語(yǔ)句支持游昼、多語(yǔ)句執(zhí)行支持甘苍、事務(wù)支持、增強(qiáng)的調(diào)試能力烘豌、嵌入式服務(wù)支持载庭。

pdo

PHP數(shù)據(jù)對(duì)象,是PHP應(yīng)用中的一個(gè)數(shù)據(jù)庫(kù)抽象層規(guī)范。PDO提供了一個(gè)統(tǒng)一的API接口可以囚聚,使得你的PHP應(yīng)用不去關(guān)心具體要 連接的數(shù)據(jù)庫(kù)服務(wù)器系統(tǒng)類(lèi)型靖榕。也就是說(shuō),如果你使用PDO的API靡挥,可以在任何需要的時(shí)候無(wú)縫切換數(shù)據(jù)庫(kù)服務(wù)器序矩。

adodb

使用 ADODB 最大的優(yōu)點(diǎn)之一是:不管后端數(shù)據(jù)庫(kù)如何,存取數(shù)據(jù)庫(kù)的方式都是一致的跋破,開(kāi)發(fā)設(shè)計(jì)人員不必為了某一套數(shù)據(jù)庫(kù)簸淀,而必須再學(xué)習(xí)另一套不同的存取方法,這大大減輕開(kāi)發(fā)人員的知識(shí)負(fù)擔(dān)毒返,過(guò)去的知識(shí)往后仍可繼續(xù)使用租幕,轉(zhuǎn)移數(shù)據(jù)庫(kù)平臺(tái)時(shí),程序代碼也不必做太大的更動(dòng)拧簸。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末劲绪,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子盆赤,更是在濱河造成了極大的恐慌贾富,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件牺六,死亡現(xiàn)場(chǎng)離奇詭異颤枪,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)淑际,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)畏纲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人春缕,你說(shuō)我怎么就攤上這事盗胀。” “怎么了锄贼?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵票灰,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我宅荤,道長(zhǎng)米间,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任膘侮,我火速辦了婚禮屈糊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘琼了。我一直安慰自己逻锐,他們只是感情好夫晌,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著昧诱,像睡著了一般晓淀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上盏档,一...
    開(kāi)封第一講書(shū)人閱讀 51,590評(píng)論 1 305
  • 那天凶掰,我揣著相機(jī)與錄音,去河邊找鬼蜈亩。 笑死懦窘,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的稚配。 我是一名探鬼主播畅涂,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼道川!你這毒婦竟也來(lái)了午衰?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤冒萄,失蹤者是張志新(化名)和其女友劉穎臊岸,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體尊流,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡帅戒,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了奠旺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蜘澜。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡施流,死狀恐怖响疚,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情瞪醋,我是刑警寧澤忿晕,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站银受,受9級(jí)特大地震影響践盼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜宾巍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一咕幻、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧顶霞,春花似錦肄程、人聲如沸锣吼。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)玄叠。三九已至,卻和暖如春拓提,著一層夾襖步出監(jiān)牢的瞬間读恃,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工代态, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留寺惫,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓胆数,卻偏偏與公主長(zhǎng)得像肌蜻,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子必尼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 31,938評(píng)論 2 89
  • 記得以前有次面試蒋搜,被問(wèn)到這個(gè)問(wèn)題時(shí),回答的不是很滿意判莉,當(dāng)時(shí)還很奇怪豆挽,難道開(kāi)發(fā)的時(shí)候還要自己寫(xiě)mysql連接操作類(lèi)還...
    科科分享閱讀 594評(píng)論 0 1
  • 1.PHP支持哪些數(shù)據(jù)庫(kù)? PHP通過(guò)安裝相應(yīng)的擴(kuò)展來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)操作,現(xiàn)代應(yīng)用程序的設(shè)計(jì)離不開(kāi)數(shù)據(jù)庫(kù)的應(yīng)用券盅,當(dāng)前主...
    蘇宇lovecc閱讀 1,140評(píng)論 0 4
  • Welcome 目前網(wǎng)絡(luò)上充斥著大量的陳舊信息帮哈,讓PHP新手誤入歧途,傳播著錯(cuò)誤的實(shí)踐和糟糕的代碼锰镀,這必須得到糾正...
    layjoy閱讀 21,676評(píng)論 7 118
  • 上個(gè)星期我們小組完成了一個(gè)連接數(shù)據(jù)庫(kù)的小頁(yè)面娘侍,并且添加了增刪改的功能。 第一個(gè)是要連庫(kù)泳炉。下面是我連庫(kù)的代碼憾筏,其中我...
    諳逸binz閱讀 388評(píng)論 1 2