首頁 > 後端開發 > php教程 > 深入了解PHP中PDO的基本運用

深入了解PHP中PDO的基本運用

WBOY
發布: 2023-04-10 20:38:02
轉載
5227 人瀏覽過

這篇文章帶給大家pdo的相關基礎知識,PDO是PHP5新加入的一個重大功能,我們的資料庫伺服器為MySQL,所有的程式碼的資料庫操作全是一mysql或mysqli()函數來操作,希望對大家有幫助。

深入了解PHP中PDO的基本運用

一、基本知識

    1、什麼是PDO?

            PDO就是PHP data Object 提供了PHP操作多種資料庫的統一的介面

##    2、為什麼要使用PDO?

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

3.PDO都有哪些特點?

            1)編碼的一致性
               由於PHP足編碼的一致性。 PDO消除了這種不一致,提供了可用於各種資料庫的單一介面;


            2)彈性
           不需要在每次使用不同資料庫時重新配置和重新編譯PHP。例如,如果資料庫需要從SQL切換到MySQL,只需要載入PDO_MYSQL驅動程式就可以了。


            3)物件導向特性
                PDO使用PHP5的物件導向特性,可獲得更強且更有效率的資料庫通訊功能。


          高的性能。

二、PDO基本使用

        1、PDO的設定

                                     開放PHP設定檔php.ini,找到php_pdo_mysql.dll這行去掉錢買你的分號

                                開啟PHP設定檔php.ini,找到extension_dir,這個就是我們擴充存在的目錄,先去掉前面的分號,然後修改擴充目錄,我的擴充目錄是在"E:/Web/php/ext",就改成extension_dir=" E:/Web/php/ext"。


                    3)以PDO連線為不同的資料,且有不同的資料庫驅動檔案,即我們所加入的擴充伺服器   /Apache,我的是apache,讓設定生效

        2、資料來源設定的格式

                  (1)連接資料庫、資料庫的使用者名稱、資料庫的密碼

                             # 中 語法:$##_host 資料庫類型:「資料庫類型的名稱」;

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

                                                           且為 $password="123456";
#1 (2)宣告對象


                          地#"$         3、方法解說

                       1新增

                                                 (1)連接資料庫、資料庫的使用者名稱、資料庫的密碼


                (2)產生PDO物件


                                              實作程式碼如下:

<?php
header(&#39;content-type:text/html;charset=utf8&#39;);
//连接数据库
$dsn="mysql:dbname=test;host=127.0.0.1";
//数据库的用户名
$user="root";
//数据库的密码
$password="123456";
//生成PDO对象
$object = new PDO($dsn,$user,$password);
//执行添加
$sql="insert into student(`name`,`sex`,`sex`) values(&#39;zhangsan&#39;,&#39;男&#39;,&#39;18&#39;)";
if($object->exec($sql)){
    echo &#39;添加成功&#39;;
}
登入後複製

       

#註解:exec主要用於執行沒有回傳結果集的操作,如insert、delete、update,回傳的是影響的記錄條數

                                
(1)查詢方式一:


                                                (1)在資料庫、資料庫的使用者名稱、資料庫的密碼 


##                (2)產生PDO物件 

(3)执行查询

实现代码:

<?php
header(&#39;content-type:text/html;charset=utf8&#39;);
//连接数据库
$dsn="mysql:dbname=test;host=127.0.0.1";
//数据库的用户名
$user="root";
//数据库的密码
$password="123456";
//生成PDO对象
$object = new PDO($dsn,$user,$password);

$sql="select * from student";
$result = $object->query($sql);
while($arr=$result->fetch()){
    print_r($arr);
}
登入後複製

查询结果为:


$result的打印结果为:


还可以用:

$data=$result->fetchAll();
print_r($student_info);
登入後複製

输出结果为二维数组:


注释:

1、query()执行查询语句,返回结果集对象;

2、用循环利用fetch()方法逐个的取出记录,返回的是关联数组和索引数组两种数组,和mysql_fetch_array()的返回结果一致

3、fetchAll()方法可以一次取出结果集中所有的数组,以二维数组的形式返回,但仍然是关联数组和索引数组两种数组

数字索引和关联索引都有,属于浪费资源,我们只需要关联索引:还可用用一下方式查询:

$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);
登入後複製

结果为:


注释:

        setAttribute()方法是设置部分属性,主要属性有:PDO::ATTR_CASE、PDO::ATTR_ERRMODE等,我们设置的是PDO::ATTR_CASE(使用关联索引获取数据)

PDO::CASE_UPPER是设置关联索引为大写,

PDO::CASE_LOWER  --  强制列名为小写

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

 PDO::CASE_UPPER -- 强制列名为大写

    setFetchMode()方法设置获取结果集的返回值类型,同样类型还有:

PDO::FETCH_ASSOC --关联数组形式

PDO::FETCH_NUM -- 数字索引形式数组

PDO::FETCH_BOTH --两者数组形式都有

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

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

以上是深入了解PHP中PDO的基本運用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:csdn.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板