日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
深入了解PHP中PDO的基本使用

本篇文章給大家?guī)韕do的相關(guān)基礎(chǔ)知識,PDO是php5新加入的一個重大功能,我們的數(shù)據(jù)庫服務(wù)器為mysql,所有的程序代碼的數(shù)據(jù)庫操作全是一mysql或者mysqli()函數(shù)來操作,希望對大家有幫助。

創(chuàng)新互聯(lián)公司一直在為企業(yè)提供服務(wù),多年的磨煉,使我們在創(chuàng)意設(shè)計,全網(wǎng)整合營銷推廣到技術(shù)研發(fā)擁有了開發(fā)經(jīng)驗。我們擅長傾聽企業(yè)需求,挖掘用戶對產(chǎn)品需求服務(wù)價值,為企業(yè)制作有用的創(chuàng)意設(shè)計體驗。核心團隊擁有超過十年以上行業(yè)經(jīng)驗,涵蓋創(chuàng)意,策化,開發(fā)等專業(yè)領(lǐng)域,公司涉及領(lǐng)域有基礎(chǔ)互聯(lián)網(wǎng)服務(wù)雙線服務(wù)器托管、成都app軟件開發(fā)、手機移動建站、網(wǎng)頁設(shè)計、網(wǎng)絡(luò)整合營銷。

一、基本知識

1、什么是PDO?

PDO就是PHP data Object 提供了PHP操作多種數(shù)據(jù)庫的統(tǒng)一的接口

2、為什么要使用PDO?

PDO是PHP5新加入的一個重大功能,我們的數(shù)據(jù)庫服務(wù)器為MySQL,所有的程序代碼的數(shù)據(jù)庫操作全是一mysql()或者mysqli()函數(shù)來操作,當我們的數(shù)據(jù)庫 需要更換時比如換成,SQL、SERVER、PostgreSQL、MS 等,我們不可能去修改所有的程序代碼!所以就要用到PDO,PDO很好的幫我們解決了這個問題,使用PDO操作非常方便,只需要修改數(shù)據(jù)源格式,和加載相應的驅(qū)動文件到PHP.ini即可;

3、PDO都有哪些特點?

1)編碼的一致性

由于PHP可用的各種數(shù)據(jù)庫擴展是由不同發(fā)行者編寫的,所以盡管所有的擴展都提供了基本相同的特性,卻不 滿 足編碼的一致性。PDO消除了這種不一致,提供了可用于各種數(shù)據(jù)庫的單一接口;

2)靈活性

因為PDO在運行時加載必須的數(shù)據(jù)庫驅(qū)動程序,所以不需要在每次使用不同數(shù)據(jù)庫時重新配置和重新編譯PHP。例如,如果數(shù)據(jù)庫需要從SQL切換到MySQL,只需要加載PDO_MYSQL驅(qū)動程序就可以了。

3)面向?qū)ο筇匦?/h5>

PDO利用PHP5的面向?qū)ο筇匦?,可以獲得更強大、更高效的數(shù)據(jù)庫通信。

4)高性能

PDO是用C編寫的,編譯為PHP,與用PHP編寫的其他解決方案相比,雖然其他都相同,但提供了更高的性能。

二、PDO基本使用

1、PDO的配置

1)修改php.ini,添加MySQL的PDO擴展

打開PHP配置文件php.ini,找到php_pdo_mysql.dll這行去掉錢買你的分號

2)擴展目錄中要有相應的擴展文件

打開PHP配置文件php.ini,找到extension_dir,這個就是我們擴展存在的目錄,首先去掉前面的分號,然后修改擴展目錄,我的擴展目錄是在"E:/Web/php/ext",就改成extension_dir="E:/Web/php/ext"。

3)PDO連接不同的數(shù)據(jù),要有不同的數(shù)據(jù)庫驅(qū)動文件,即我們所加入配置文件的擴展
4)重新啟動服務(wù)器,IIS/Apache,我的是apache,使配置生效

2、數(shù)據(jù)源配置的格式

1)數(shù)據(jù)源格式

(1)連接數(shù)據(jù)庫、數(shù)據(jù)庫的用戶名、數(shù)據(jù)庫的密碼

語法:$dsn =“數(shù)據(jù)庫類型:dbname=數(shù)據(jù)庫名;host=數(shù)據(jù)庫的域名”;

$user = "數(shù)據(jù)庫的用戶名";

$password = "數(shù)據(jù)庫的密碼";

例:$dsn = "mysql:dbname=test;host=127.0.0.1";

$user = "root";

$password="123456";

(2)聲明對象

$object = new PDO($dsn,$user,$password);

3、方法講解

1)添加

主要思路:

(1)連接數(shù)據(jù)庫、數(shù)據(jù)庫的用戶名、數(shù)據(jù)庫的密碼

(2)生成PDO對象

(3)執(zhí)行添加

實現(xiàn)代碼如下:

exec($sql)){
    echo '添加成功';
}

注釋:exec主要用于執(zhí)行沒有返回結(jié)果集的操作,比如insert、delete、update,返回的是影響的記錄條數(shù)

2)查詢

(1)查詢方式一:

主要思路:

(1)連接數(shù)據(jù)庫、數(shù)據(jù)庫的用戶名、數(shù)據(jù)庫的密碼

(2)生成PDO對象

(3)執(zhí)行查詢

實現(xiàn)代碼:

query($sql);
while($arr=$result->fetch()){
    print_r($arr);
}

查詢結(jié)果為:

$result的打印結(jié)果為:

還可以用:

$data=$result->fetchAll();
print_r($student_info);

輸出結(jié)果為二維數(shù)組:


注釋:

1、query()執(zhí)行查詢語句,返回結(jié)果集對象;

2、用循環(huán)利用fetch()方法逐個的取出記錄,返回的是關(guān)聯(lián)數(shù)組和索引數(shù)組兩種數(shù)組,和mysql_fetch_array()的返回結(jié)果一致

3、fetchAll()方法可以一次取出結(jié)果集中所有的數(shù)組,以二維數(shù)組的形式返回,但仍然是關(guān)聯(lián)數(shù)組和索引數(shù)組兩種數(shù)組

數(shù)字索引和關(guān)聯(lián)索引都有,屬于浪費資源,我們只需要關(guān)聯(lián)索引:還可用用一下方式查詢:

$object->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);
$result = $object->query($sql);
$result->setFetchMode(PDO::FETCH_ASSOC);
$result_array = $result->fetchAll();
print_r($result_array);

結(jié)果為:

注釋:

setAttribute()方法是設(shè)置部分屬性,主要屬性有:PDO::ATTR_CASE、PDO::ATTR_ERRMODE等,我們設(shè)置的是PDO::ATTR_CASE(使用關(guān)聯(lián)索引獲取數(shù)據(jù))

PDO::CASE_UPPER是設(shè)置關(guān)聯(lián)索引為大寫,

PDO::CASE_LOWER -- 強制列名為小寫

PDO::CASE_NATURAL -- 列名按照原始方式

PDO::CASE_UPPER -- 強制列名為大寫

setFetchMode()方法設(shè)置獲取結(jié)果集的返回值類型,同樣類型還有:

PDO::FETCH_ASSOC --關(guān)聯(lián)數(shù)組形式

PDO::FETCH_NUM -- 數(shù)字索引形式數(shù)組

PDO::FETCH_BOTH --兩者數(shù)組形式都有

PDO::FETCH_OBJ -- 按照對象的形式,類似于以前的mysql_fetch_object()


網(wǎng)站名稱:深入了解PHP中PDO的基本使用
本文地址:http://www.5511xx.com/article/cohcopo.html