Rumah > Artikel > pembangunan bahagian belakang > Kaedah dan teknik PHP untuk menggunakan PDO untuk mengendalikan pangkalan data
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.
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.
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.
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; 🎜>fetchAll()
rowCount()
$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. "; }
users
Dalam 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()
, 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()
catch
rollBack()
Pernyataan yang disediakan
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
:name
Kemahiran nyahpepijat
$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
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!