Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pemahaman mendalam tentang penggunaan asas PDO dalam PHP

Pemahaman mendalam tentang penggunaan asas PDO dalam PHP

WBOY
WBOYke hadapan
2021-12-20 17:04:385218semak imbas

Artikel ini membawakan anda pengetahuan asas tentang PDO ialah ciri baharu utama yang ditambahkan pada pelayan pangkalan data kami ialah MySQL Semua operasi pangkalan data kod program dilakukan oleh fungsi mysql atau mysqli(). semoga ianya bermanfaat kepada semua.

Pemahaman mendalam tentang penggunaan asas PDO dalam PHP

1. Pengetahuan asas

1. Apakah itu PDO?

PDO ialah Objek data PHP, yang menyediakan antara muka bersatu untuk PHP mengendalikan berbilang pangkalan data

2. Mengapa menggunakan PDO?

PDO ialah ciri baharu utama yang ditambahkan pada PHP5 pelayan pangkalan data kami adalah MySQL Semua operasi pangkalan data kod program dikendalikan oleh fungsi mysql() atau mysqli() Apabila pangkalan data kami perlu diganti contoh, jika ia digantikan dengan SQL, SERVER, PostgreSQL, MS, dll., adalah mustahil untuk kami mengubah suai semua kod program! Jadi kami perlu menggunakan PDO membantu kami menyelesaikan masalah ini dengan sangat mudah. ​​Anda hanya perlu mengubah suai format sumber data dan memuatkan fail pemacu yang sepadan ke PHP.ini 3. Apakah ciri-ciri PDO?

1) Ketekalan pengekodan

Memandangkan pelbagai sambungan pangkalan data yang tersedia untuk PHP ditulis oleh penerbit yang berbeza, walaupun semua sambungan memberikan ciri yang sama pada dasarnya, ia tidak memuaskan Konsistensi pengekodan yang mencukupi. PDO menghapuskan ketidakkonsistenan ini dan menyediakan antara muka tunggal yang boleh digunakan untuk pelbagai pangkalan data Tidak perlu mengkonfigurasi semula dan menyusun semula PHP setiap kali anda menggunakan pangkalan data yang berbeza. Sebagai contoh, jika pangkalan data perlu ditukar daripada SQL ke MySQL, anda hanya perlu memuatkan pemacu PDO_MYSQL.


3) Ciri berorientasikan objek

PDO menggunakan ciri berorientasikan objek PHP5 untuk mencapai komunikasi pangkalan data yang lebih berkuasa dan cekap.


4) Prestasi tinggi

PDO ditulis dalam C dan disusun ke PHP Berbanding dengan penyelesaian lain yang ditulis dalam PHP, walaupun semua yang lain adalah sama, ia memberikan lebih prestasi Tinggi.


2. Penggunaan asas PDO

1. Konfigurasi PDO

1) Ubah suai php.ini dan tambah sambungan MySQL PDO

Buka PHP fail konfigurasi php.ini, cari baris php_pdo_mysql.dll dan keluarkan koma bertitik

2) Mesti ada fail sambungan yang sepadan dalam direktori sambungan

Buka fail Konfigurasi PHP php. ini, cari extension_dir, ini ialah direktori di mana sambungan kami wujud Mula-mula keluarkan koma bertitik di hadapan, dan kemudian ubah suai direktori sambungan saya dalam "E:/Web/php/ext", jadi tukarkannya kepada extension_dir= " E:/Web/php/ext".


3) PDO menghubungkan data yang berbeza dan memerlukan fail pemacu pangkalan data yang berbeza, iaitu sambungan fail konfigurasi yang kami tambah

4) Mulakan semula pelayan, IIS/Apache, I Ia adalah apache, supaya konfigurasi berkuat kuasa

2. Format konfigurasi sumber data

1) Format sumber data
(1) Sambung ke pangkalan data, nama pengguna pangkalan data , kata laluan pangkalan data

Sintaks: $dsn = "Jenis pangkalan data: dbname=nama pangkalan data; hos=nama domain pangkalan data"

$ user = "kata laluan";
(2) Isytiharkan objek


                                                                                                                                                                                                                                                             > 🎜> 🎜>

                                                                                   

🎜>


NOTA: EXEC digunakan terutamanya untuk pelaksanaan tanpa operasi set keputusan pulangan, seperti memasukkan, memadam, dan mengemas kini, mengembalikan bilangan rekod yang terjejas


2) Pertanyaan


(1) Kaedah pertanyaan satu:


(1) Sambungkan ke pangkalan data, nama pengguna pangkalan data, kata laluan pangkalan data

🎜>

                                                                                                                                            

                                         (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知识的学习。

Atas ialah kandungan terperinci Pemahaman mendalam tentang penggunaan asas PDO dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:csdn.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam