Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kaedah dan teknik PHP untuk menggunakan PDO untuk mengendalikan pangkalan data

Kaedah dan teknik PHP untuk menggunakan PDO untuk mengendalikan pangkalan data

PHPz
PHPzasal
2023-06-08 13:42:311726semak imbas

PHP ialah bahasa pengaturcaraan sisi pelayan yang biasa digunakan untuk pembangunan web. Dalam pembangunan web, pangkalan data operasi adalah keperluan yang sangat biasa. PDO (Objek Data PHP) ialah perpustakaan sambungan untuk PHP untuk mengendalikan pangkalan data dan boleh digunakan untuk menyambung ke sistem pengurusan pangkalan data arus perdana, seperti MySQL, PostgreSQL, Oracle, dll.

Artikel ini akan memperkenalkan kaedah dan teknik PHP menggunakan PDO untuk mengendalikan pangkalan data, termasuk menyambung ke pangkalan data, melaksanakan pernyataan SQL, memproses set hasil, dsb.

  1. Sambung ke pangkalan data

Pertama, kita perlu menyambung ke pangkalan data. Dalam PDO, anda boleh menggunakan kod berikut untuk mencipta objek PDO:

$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);

di mana, localhost ialah nama hos di mana pangkalan data terletak (boleh menjadi alamat IP), test ialah nama daripada pangkalan data yang akan disambungkan, $user dan $pass ialah nama pengguna dan kata laluan pangkalan data masing-masing. Kita boleh mengubah suai parameter di atas mengikut keperluan.

  1. Melaksanakan pernyataan SQL

Selepas menyambung ke pangkalan data, kami boleh melaksanakan pernyataan SQL. PDO menyediakan beberapa kaedah untuk melaksanakan pernyataan SQL Berikut ialah beberapa kaedah yang biasa digunakan:

  • exec($query): lakukan operasi seperti INSERT, UPDATE, DELETE, dsb., dan kembalikan bilangan baris yang terjejas;
  • query($query): Laksanakan pernyataan SELECT dan kembalikan set hasil;
  • prepare($query): Sediakan pernyataan SQL dan kembalikan objek PDOStatement, yang boleh dilaksanakan selepas parameter mengikat melalui bindValue () kaedah.

Sebagai contoh, kita boleh menggunakan kod berikut untuk menanyakan semua rekod dalam jadual users:

$stmt = $dbh->query("SELECT * FROM users");
while ($row = $stmt->fetch()) {
    echo $row['id'] . "    " . $row['name'] . "
";
}

Dalam kod di atas, $dbh ialah objek PDO, query() Kaedah ini digunakan untuk melaksanakan pernyataan SELECT dan mengembalikan objek PDOStatement. Kita boleh menggunakan kaedah fetch() untuk mengulang setiap baris data dalam set hasil dan mengeluarkannya ke skrin.

  1. Memproses set hasil

Selepas melaksanakan pernyataan SELECT, kami boleh mengakses data dalam set hasil melalui objek PDOStatement. PDO menyediakan beberapa kaedah untuk mengakses set hasil Berikut ialah beberapa kaedah yang biasa digunakan:

  • fetch(): Dapatkan baris data seterusnya dalam set hasil dan kembalikan tatasusunan bersekutu; 🎜>
  • : Dapatkan semua data dalam set hasil dan kembalikan tatasusunan bersekutu dua dimensi;
  • fetchAll()
  • : Dapatkan bilangan baris dalam set hasil.
  • rowCount()
  • Sebagai contoh, kita boleh menggunakan kod berikut untuk menanyakan maklumat pengguna dengan id 1 dalam jadual
:

$stmt = $dbh->prepare("SELECT * FROM users WHERE id=:id");
$stmt->bindValue(':id', 1, PDO::PARAM_INT);
$stmt->execute();
$row = $stmt->fetch();
if ($row) {
    echo "ID: " . $row['id'] . "
";
    echo "Name: " . $row['name'] . "
";
    echo "Email: " . $row['email'] . "
";
} else {
    echo "Not found.
";
}
usersDalam kod di atas, kaedah

digunakan untuk menyediakan pernyataan SQL , parameter bernama boleh ditakrifkan menggunakan borang

. Kita boleh mengikat nilai parameter melalui kaedah prepare(), dan kemudian melaksanakan kaedah :name, yang sepadan dengan ruang letak dalam pernyataan SQL. bindValue()execute()

Pemprosesan urus niaga
  1. Apabila mengendalikan pangkalan data, kadangkala kita perlu melaksanakan satu siri pernyataan SQL dan memastikan bahawa ia sama ada semuanya berjaya dilaksanakan atau tiada satu pun daripadanya dilaksanakan . Ini memerlukan penggunaan transaksi. PDO menyediakan
,

, beginTransaction() dan kaedah lain untuk mengendalikan transaksi, contohnya: commit()

try {
    $dbh->beginTransaction();
    $dbh->exec("INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com')");
    $dbh->exec("INSERT INTO users (name, email) VALUES ('Bob', 'bob@example.com')");
    $dbh->commit();
} catch (PDOException $e) {
    $dbh->rollBack();
    echo "Transaction failed: " . $e->getMessage();
}
rollBack() Dalam kod di atas, kaedah

digunakan untuk memulakan transaksi dan digunakan untuk menyerahkan Transaksi, jika mana-mana pernyataan SQL gagal dilaksanakan, kod akan melompat ke blok

dan melaksanakan kaedah beginTransaction() untuk melancarkan transaksi. commit()catchrollBack()Pernyataan yang disediakan

  1. Apabila melaksanakan pernyataan SQL, kadangkala kita perlu menggunakan pembolehubah untuk membina pernyataan SQL, contohnya:
  2. rreee
Cara ini wujud Di sana adalah risiko suntikan SQL, jadi kenyataan yang disediakan harus digunakan. PDO menyediakan kaedah

dan kaedah

untuk melaksanakan pernyataan yang disediakan, contohnya:

$name = "Tom";
$stmt = $dbh->query("SELECT * FROM users WHERE name='$name'");
prepare() Dalam kod di atas, kami menggunakan pernyataan yang disediakan untuk menggunakan bindParam() sebagai pemegang tempat, diluluskan semasa pelaksanaan. Kaedah

mengikat

kepada :name, dan apabila ia akhirnya dilaksanakan, bindParam() akan digantikan dengan nilai pembolehubah sebenar, mengelakkan risiko suntikan SQL. $name:name:nameKemahiran nyahpepijat

  1. Semasa proses pembangunan, kita selalunya perlu menyahpepijat hasil pelaksanaan pernyataan SQL. PDO menyediakan kaedah
  2. untuk mendapatkan maklumat ralat, contohnya:
$name = "Tom";
$stmt = $dbh->prepare("SELECT * FROM users WHERE name=:name");
$stmt->bindParam(':name', $name, PDO::PARAM_STR);
$stmt->execute();

Dalam kod di atas, jika pertanyaan gagal, kaedah errorInfo() dipanggil untuk mendapatkan maklumat ralat dan output ke skrin.

errorInfo()Ringkasan

  1. Artikel ini memperkenalkan kaedah dan teknik PHP menggunakan PDO untuk mengendalikan pangkalan data, termasuk menyambung ke pangkalan data, melaksanakan pernyataan SQL, memproses set hasil, dsb. . PDO boleh digunakan untuk menyambung kepada pelbagai sistem pengurusan pangkalan data dan menyediakan antara muka yang kaya untuk membantu kami membangunkan aplikasi Web berkualiti tinggi.

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

Kenyataan:
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