Rumah pembangunan bahagian belakang tutorial php Bagaimana PHP menggunakan PDO untuk mengendalikan pangkalan data

Bagaimana PHP menggunakan PDO untuk mengendalikan pangkalan data

Jun 18, 2023 am 08:36 AM
php pdo Operasi pangkalan data

Dalam pembangunan web, pangkalan data adalah komponen yang sangat penting. Seperti bahasa pengaturcaraan lain, bahasa PHP juga mempunyai banyak cara untuk mengendalikan pangkalan data. Antaranya, PDO (Objek Data PHP) adalah salah satu cara biasa untuk mengendalikan pangkalan data dalam PHP Ia menyediakan kaedah bersatu, mudah, fleksibel dan selamat untuk mengakses sistem pangkalan data yang berbeza. Artikel ini akan memperkenalkan cara PHP menggunakan PDO untuk mengendalikan pangkalan data.

1. Kelebihan PDO

Kelebihan menggunakan PDO untuk mengendalikan pangkalan data adalah seperti berikut:

  1. Program ini sangat mudah alih: menggunakan PDO untuk mengendalikan pangkalan data lebih mudah alih ia kukuh dan boleh dijalankan pada pangkalan data yang berbeza tanpa memerlukan perubahan besar pada program.
  2. Keselamatan tinggi: PDO menyokong pemprosesan parameter baris arahan, yang boleh menghalang serangan suntikan SQL dengan berkesan.
  3. Berorientasikan objek: PDO berorientasikan objek dan boleh menjadikan pengaturcaraan OOP lebih mudah.
  4. Prestasi yang baik: PDO menyokong penyataan yang disediakan dan pengikatan data, yang boleh meningkatkan kecekapan pertanyaan dengan sangat baik dan dengan itu meningkatkan prestasi program.

2. Gunakan PDO untuk menyambung ke pangkalan data

Sebelum anda mula menggunakan PDO untuk mengendalikan pangkalan data, anda perlu menyambung ke pangkalan data terlebih dahulu. Kod untuk menyambung ke pangkalan data adalah seperti berikut:

//设置数据库连接信息
$dsn = 'mysql:host=localhost;dbname=testdb';
$username = 'root';
$password = 'root';
$options = [
    //错误模式:在发生错误时抛出异常
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    //默认返回关联数组
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
];
//创建PDO对象
$pdo = new PDO($dsn, $username, $password, $options);
Salin selepas log masuk

Antaranya, $dsn mewakili jenis pangkalan data, nama hos, nama pangkalan data dan maklumat lain, $nama pengguna mewakili nama pengguna, $kata laluan mewakili kata laluan, $options mewakili tetapan, seperti menetapkan mod ralat, Jenis data kembali, dsb. Apabila menyambung ke pangkalan data, anda juga boleh menetapkan pilihan lain, seperti:

$options = [
    //设置字符集
    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
    //关闭持久连接
    PDO::ATTR_PERSISTENT => false,
    //设置超时时间
    PDO::ATTR_TIMEOUT => 10,
    //设置返回数据类型为对象
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ,
    // 禁用预处理语句的模拟
    PDO::ATTR_EMULATE_PREPARES => false,
];
Salin selepas log masuk

3. PDO melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan

Selepas menyambung ke pangkalan data, anda boleh melakukan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pada pangkalan data. Operasi yang biasa digunakan termasuk: memasukkan data, mengemas kini data, memadam data dan menyoal data.

  1. Sisipkan data

Kod untuk menggunakan PDO untuk memasukkan data ke dalam pangkalan data adalah seperti berikut:

//插入数据
$sql = "INSERT INTO `users` (`name`,`age`,`email`) VALUES (:name,:age,:email)";
$name = 'Tom';
$age = 23;
$email = 'tom@example.com';
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':name', $name);
$stmt->bindValue(':age', $age);
$stmt->bindValue(':email', $email);
$stmt->execute();
Salin selepas log masuk

Di mana, $sql ialah pernyataan SQL untuk memasukkan data, gunakan Kaedah pengikatan parameter boleh mengelakkan serangan suntikan SQL. Kaedah bindValue() akan mengikat parameter kepada pemegang tempat dengan nama yang ditentukan, dan kemudian memanggil kaedah execute() untuk menyerahkan pertanyaan kepada pangkalan data.

  1. Kemas kini data

Kod untuk mengemas kini data menggunakan PDO adalah seperti berikut:

//更新数据
$sql = "UPDATE `users` SET `age` = :age WHERE `name` = :name";
$name = 'Tom';
$age = 24;
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':name', $name);
$stmt->bindValue(':age', $age);
$stmt->execute();
Salin selepas log masuk

Antaranya, $sql ialah pernyataan SQL untuk mengemas kini data, menggunakan pengikatan parameter Dalam cara tertentu, serangan suntikan SQL boleh dielakkan. Kaedah bindValue() akan mengikat parameter kepada pemegang tempat dengan nama yang ditentukan, dan kemudian memanggil kaedah execute() untuk menyerahkan pertanyaan kepada pangkalan data.

  1. Padam data

Kod untuk memadam data menggunakan PDO adalah seperti berikut:

//删除数据
$sql = "DELETE FROM `users` WHERE `name` = :name";
$name = 'Tom';
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':name', $name);
$stmt->execute()
Salin selepas log masuk

Antaranya, $sql ialah pernyataan SQL untuk memadam data , menggunakan pengikatan parameter Dalam cara tertentu, serangan suntikan SQL boleh dielakkan. Kaedah bindValue() akan mengikat parameter kepada pemegang tempat dengan nama yang ditentukan, dan kemudian memanggil kaedah execute() untuk menyerahkan pertanyaan kepada pangkalan data.

  1. Data pertanyaan

Kod untuk pertanyaan data menggunakan PDO adalah seperti berikut:

//查询数据
$sql = "SELECT * FROM `users` WHERE `age` > :age";
$age = 20;
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':age', $age);
$stmt->execute();
$rows = $stmt->fetchAll();
Salin selepas log masuk

Antaranya, $sql ialah pernyataan SQL untuk pertanyaan data , menggunakan pengikatan parameter Dalam cara tertentu, serangan suntikan SQL boleh dielakkan. Kaedah bindValue() akan mengikat parameter kepada pemegang tempat dengan nama yang ditentukan, dan kemudian memanggil kaedah execute() untuk menyerahkan pertanyaan kepada pangkalan data. Kaedah fetchAll() mengembalikan hasil pertanyaan sebagai tatasusunan berbilang dimensi.

Memandangkan PDO menyokong mendapatkan hasil daripada tiga jenis: tatasusunan bersekutu, tatasusunan angka dan objek, apabila menanyakan keputusan, anda perlu menetapkan jenis pemerolehan pengambilan, contohnya:

//查询并获取关联数组
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
 
//查询并获取数字数组
$rows = $stmt->fetchAll(PDO::FETCH_NUM);
 
//查询并获取对象数组
$rows = $stmt->fetchAll(PDO::FETCH_OBJ);
Salin selepas log masuk

4. Pelaksanaan PDO Pemprosesan transaksi

PDO menyokong pemprosesan transaksi dan anda boleh menggunakan kaedah beginTransaction(), commit() dan rollback() untuk melaksanakan operasi penyerahan transaksi dan rollback.

try {
    //开启事务
    $pdo->beginTransaction();
    //执行增删改操作语句
    $pdo->exec($sql1);
    $pdo->exec($sql2);
    $pdo->exec($sql3);
    //提交事务
    $pdo->commit();
} catch (Exception $e) {
    //回滚事务
    $pdo->rollback();
}
Salin selepas log masuk

Di atas adalah pengenalan asas untuk menggunakan PDO untuk mengendalikan pangkalan data Terdapat beberapa perkara yang perlu diberi perhatian semasa mengendalikan pangkalan data dengan PDO:

  1. Menggunakan parameter. mengikat boleh mengelakkan serangan suntikan SQL.
  2. Tetapkan mod ralat pengecualian PDO kepada EXCEPTION untuk menangkap pengecualian dengan mudah.
  3. Menggunakan kaedah prepare() untuk melaksanakan penyataan operasi boleh cache set hasil untuk meningkatkan kecekapan pertanyaan.
  4. Penyata prapemprosesan dan pengikatan data boleh mengelakkan kerja berulang untuk menganalisis dan mengoptimumkan kenyataan, mencapai kecekapan pertanyaan yang lebih tinggi.
  5. Mendayakan pemprosesan transaksi boleh memastikan integriti dan konsistensi data.

Ringkasnya, menggunakan PDO untuk mengendalikan pangkalan data adalah cara yang agak mudah dan berkesan, yang boleh menyediakan keupayaan capaian pangkalan data yang berkuasa untuk aplikasi web.

Atas ialah kandungan terperinci Bagaimana PHP menggunakan PDO untuk mengendalikan pangkalan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini 7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini Nov 13, 2024 am 09:42 AM

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

Terangkan pengikatan statik lewat dalam php (statik: :). Terangkan pengikatan statik lewat dalam php (statik: :). Apr 03, 2025 am 12:04 AM

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apr 03, 2025 am 12:03 AM

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.

See all articles