Panduan Operasi PDO dalam PHP

WBOY
Lepaskan: 2023-05-21 13:02:02
asal
1447 orang telah melayarinya

Dalam PHP, menggunakan PDO untuk mengendalikan pangkalan data boleh meningkatkan keselamatan dan mudah alih kod. PDO ialah sambungan PHP yang menyediakan antara muka bersatu untuk akses pangkalan data dan menyokong pelbagai jenis pangkalan data. Artikel ini akan memperkenalkan anda kepada penggunaan asas dan langkah berjaga-jaga PDO.

1. Sambung ke pangkalan data
Menggunakan PDO untuk menyambung ke pangkalan data memerlukan parameter berikut:

$dsn: jenis pangkalan data: host=nama hos
$nama pengguna: Nama pengguna
$kata laluan: Kata laluan
$options: Parameter pilihan, digunakan untuk menentukan beberapa pilihan untuk menyambung ke pangkalan data, seperti set aksara, tamat masa sambungan, dsb.

Berikut ialah contoh penyambungan ke pangkalan data MySQL:

$dsn = 'mysql:host=localhost;dbname=test;charset=utf8';
$username = ' root';
$password = '123456';
$options = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);

cuba {

$pdo = new PDO($dsn, $username, $password, $options);
Salin selepas log masuk

} catch (PDOException $e) {

die($e->getMessage());
Salin selepas log masuk

}

2. Laksanakan pernyataan SQL
Menggunakan PDO untuk melaksanakan pernyataan SQL memerlukan memanggil kaedah penyediaan PDO untuk menyediakan pernyataan SQL dan mengikat terlebih dahulu pembolehubah dalam pernyataan SQL ditetapkan pada parameter. Seterusnya, panggil kaedah laksana untuk melaksanakan pernyataan SQL.

Berikut ialah contoh pertanyaan pangkalan data:

$sql = 'PILIH id, nama, umur DARI pengguna DI MANA umur > ?';
$stmt = $pdo- > prepare($sql);
$stmt->bindParam(1, $age);
$age = 18;
$stmt->execute();
$rows = $stmt ->fetchAll(PDO::FETCH_ASSOC);

Dalam contoh ini, pembolehubah dalam pernyataan SQL digantikan dengan tanda soal Apabila mengikat pembolehubah kepada parameter, anda perlu menggunakan kaedah bindParam atau bindValue .

Kaedah bindParam menghantar pembolehubah kepada parameter melalui rujukan, yang bermaksud apabila nilai pembolehubah berubah, nilai parameter juga akan berubah.

Kaedah bindValue menyalin nilai pembolehubah kepada parameter, yang bermaksud walaupun nilai pembolehubah berubah, nilai parameter tidak akan berubah.

3. Gunakan kawalan urus niaga
Dalam operasi pangkalan data, urus niaga merujuk kepada kumpulan operasi pangkalan data yang berkaitan secara keseluruhannya sama ada semuanya berjaya dilaksanakan atau semuanya dibatalkan. Kaedah beginTransaction, commit dan rollBack PDO boleh membantu kami mencapai kawalan transaksi.

Berikut ialah contoh memasukkan data:

cuba {

$pdo->beginTransaction();
$stmt = $pdo->prepare('INSERT INTO users (name, age) VALUES (:name, :age)');
$stmt->bindParam(':name', $name);
$stmt->bindParam(':age', $age);

$name = '张三';
$age = 20;
$stmt->execute();

$name = '李四';
$age = 22;
$stmt->execute();

$pdo->commit();
Salin selepas log masuk

} tangkapan (PDOException $e) {

$pdo->rollBack();
die($e->getMessage());
Salin selepas log masuk

}

Dalam contoh ini, kaedah beginTransaction bermaksud memulakan transaksi, kaedah commit bermaksud melakukan transaksi, dan kaedah RollBack bermaksud melancarkan transaksi.

4. Nota
Apabila menggunakan PDO untuk mengendalikan pangkalan data, anda juga perlu memberi perhatian kepada perkara berikut:

  • PDO tidak akan membuang pengecualian secara lalai, dan anda perlu menentukan ATTR_ERRMODE apabila menyambung ke pangkalan data.
  • Kaedah penyediaan PDO akan melepaskan parameter secara automatik, jadi tidak perlu melepaskannya secara manual.
  • Kaedah fetchAll PDO mengembalikan tatasusunan bersekutu secara lalai Anda boleh menggunakan PDO::FETCH_NUM untuk mendapatkan tatasusunan indeks angka dan PDO::FETCH_BOTH untuk mendapatkan tatasusunan yang mengandungi kedua-dua indeks angka dan indeks bersekutu.
  • Untuk pangkalan data MySQL, kenyataan yang disediakan simulasi mesti digunakan apabila PDO melaksanakan pernyataan SQL, yang boleh menghalang serangan suntikan SQL. Apabila menggunakan kenyataan simulasi yang disediakan, anda perlu menentukan ATTR_EMULATE_PREPARES sebagai palsu apabila menyambung ke pangkalan data.

Ringkasnya, menggunakan PDO untuk mengendalikan pangkalan data boleh meningkatkan keselamatan dan mudah alih kod. Untuk mengelakkan isu keselamatan semasa mengendalikan pangkalan data, anda boleh menggabungkan kaedah di atas, berfikir lebih lanjut dan mencuba lebih banyak, dan menggunakan PDO dengan lebih baik.

Atas ialah kandungan terperinci Panduan Operasi PDO dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan