在php開(kāi)發(fā)過(guò)程中,我們需要連接數(shù)據(jù)庫(kù)來(lái)開(kāi)發(fā)動(dòng)態(tài)網(wǎng)站,那么如何連接數(shù)據(jù)庫(kù)?下面本篇文章就來(lái)給大家介紹一些php中連接數(shù)據(jù)庫(kù)的方法,希望對(duì)大家有所幫助。
php中連接數(shù)據(jù)庫(kù)的常用方法
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(); } ?>
總結(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)類型。也就是說(shuō),如果你使用PDO的API,可以在任何需要的時(shí)候無(wú)縫切換數(shù)據(jù)庫(kù)服務(wù)器。