


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.
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
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
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
(1) Sambungkan ke pangkalan data, nama pengguna pangkalan data, kata laluan pangkalan data
🎜>
(3)执行查询
实现代码:
<?php header('content-type:text/html;charset=utf8'); //连接数据库 $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!

Kelebihan utama menggunakan sesi penyimpanan pangkalan data termasuk kegigihan, skalabilitas, dan keselamatan. 1. Kegigihan: Walaupun pelayan dimulakan semula, data sesi tidak dapat berubah. 2. Skalabiliti: Berkenaan dengan sistem yang diedarkan, memastikan data sesi disegerakkan di antara pelbagai pelayan. 3. Keselamatan: Pangkalan data menyediakan storan yang disulitkan untuk melindungi maklumat sensitif.

Melaksanakan pemprosesan sesi tersuai dalam PHP boleh dilakukan dengan melaksanakan antara muka sessionHandlerInterface. Langkah -langkah khusus termasuk: 1) mewujudkan kelas yang melaksanakan sessionHandlerInterface, seperti CustomSessionHandler; 2) kaedah penulisan semula dalam antara muka (seperti terbuka, rapat, membaca, menulis, memusnahkan, gc) untuk menentukan kitaran hayat dan kaedah penyimpanan data sesi; 3) Daftar pemproses sesi tersuai dalam skrip PHP dan mulakan sesi. Ini membolehkan data disimpan dalam media seperti MySQL dan REDIS untuk meningkatkan prestasi, keselamatan dan skalabiliti.

SesionID adalah mekanisme yang digunakan dalam aplikasi web untuk mengesan status sesi pengguna. 1. Ia adalah rentetan yang dijana secara rawak yang digunakan untuk mengekalkan maklumat identiti pengguna semasa pelbagai interaksi antara pengguna dan pelayan. 2. Pelayan menjana dan menghantarnya kepada klien melalui kuki atau parameter URL untuk membantu mengenal pasti dan mengaitkan permintaan ini dalam pelbagai permintaan pengguna. 3. Generasi biasanya menggunakan algoritma rawak untuk memastikan keunikan dan ketidakpastian. 4. Dalam pembangunan sebenar, pangkalan data dalam memori seperti REDIS boleh digunakan untuk menyimpan data sesi untuk meningkatkan prestasi dan keselamatan.

Menguruskan sesi dalam persekitaran tanpa kerakyatan seperti API boleh dicapai dengan menggunakan JWT atau cookies. 1. JWT sesuai untuk ketiadaan dan skalabilitas, tetapi ia adalah saiz yang besar ketika datang ke data besar. 2.Cookies lebih tradisional dan mudah dilaksanakan, tetapi mereka perlu dikonfigurasikan dengan berhati -hati untuk memastikan keselamatan.

Untuk melindungi permohonan dari serangan XSS yang berkaitan dengan sesi, langkah-langkah berikut diperlukan: 1. Tetapkan bendera httponly dan selamat untuk melindungi kuki sesi. 2. Kod eksport untuk semua input pengguna. 3. Melaksanakan Dasar Keselamatan Kandungan (CSP) untuk mengehadkan sumber skrip. Melalui dasar-dasar ini, serangan XSS yang berkaitan dengan sesi dapat dilindungi dengan berkesan dan data pengguna dapat dipastikan.

Kaedah untuk mengoptimumkan prestasi sesi PHP termasuk: 1. Mula sesi kelewatan, 2. Gunakan pangkalan data untuk menyimpan sesi, 3. Data sesi kompres, 4. Mengurus kitaran hayat sesi, dan 5. Melaksanakan perkongsian sesi. Strategi ini dapat meningkatkan kecekapan aplikasi dalam persekitaran konkurensi yang tinggi.

Thesession.gc_maxlifetimesettinginphpdeterminesthelifespanofsessiondata, setInseconds.1) it'sconfiguredinphp.iniorviaini_set (). 2) abalanceisneededtoavoidperformanceissuesandunexpectedlogouts.3) php'sgarbageCollectionisprobabilistic, influedbygc_probabi

Dalam PHP, anda boleh menggunakan fungsi session_name () untuk mengkonfigurasi nama sesi. Langkah -langkah tertentu adalah seperti berikut: 1. Gunakan fungsi session_name () untuk menetapkan nama sesi, seperti session_name ("my_session"). 2. Selepas menetapkan nama sesi, hubungi session_start () untuk memulakan sesi. Mengkonfigurasi nama sesi boleh mengelakkan konflik data sesi antara pelbagai aplikasi dan meningkatkan keselamatan, tetapi memberi perhatian kepada keunikan, keselamatan, panjang dan penetapan masa sesi.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Dreamweaver Mac版
Alat pembangunan web visual

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa
