cari
Rumahpembangunan bahagian belakangmasalah PHPphp menggunakan pdo untuk menambah dan memadam

Penjelasan terperinci tentang operasi pengubahsuaian

PHP ialah bahasa skrip yang sangat popular dalam medan rangkaian, dan dalam PHP, kami selalunya perlu berinteraksi dengan pangkalan data untuk menyelesaikan operasi penyimpanan, pertanyaan dan kemas kini . Untuk operasi data, pada masa ini kaedah yang paling biasa digunakan termasuk mysqli dan PDO Dalam artikel ini, kami akan memberi tumpuan kepada menerangkan penggunaan PDO (Objek Data PHP) dan cara menggunakan PDO untuk menambah, memadam, mengubah suai dan pertanyaan data.

  1. Konsep asas PDO

PDO ialah kaedah pemprosesan lapisan akses data berorientasikan objek yang ringan dan konsisten yang diperkenalkan dalam PHP 5.1, yang menyediakan API bersatu untuk mengakses pelbagai hubungan pangkalan data. Menggunakan PDO untuk menyambung ke pangkalan data boleh menyediakan objek pemacu pangkalan data tertentu dan serasi dengan pelbagai jenis pangkalan data pada tahap yang paling besar. Apabila anda perlu menukar pangkalan data, anda hanya perlu menukar pemacu pangkalan data, tanpa mengubah suai antara muka operasi pangkalan data yang lain.

Sebelum menggunakan PDO untuk operasi pangkalan data, kami perlu melakukan operasi sambungan pangkalan data terlebih dahulu PDO menyediakan cara yang lebih mudah untuk menyambung ke pangkalan data:

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

Dengan kod di atas, kami boleh Mencipta PDO. objek bernama $dbh yang disambungkan ke pangkalan data MySQL bernama test. $user dan $pass ialah nama pengguna dan kata laluan pangkalan data, dan mysql:host=localhost mewakili alamat hos yang menyambung ke pangkalan data.

  1. Menggunakan PDO untuk operasi pertanyaan data

Apabila menggunakan PDO untuk operasi pertanyaan data, mula-mula kita perlu membuat pernyataan pertanyaan melalui objek PDO dan menyimpan hasilnya dalam dalam pembolehubah. PDO menyokong penyataan pertanyaan yang telah disusun sebelumnya, yang boleh meningkatkan kecekapan pertanyaan dengan ketara dan mengelakkan serangan suntikan SQL.

2.1 Operasi pertanyaan

Dalam PDO, kami perlu menyediakan pernyataan pertanyaan SQL terlebih dahulu dan melaksanakannya:

$sql = "SELECT * FROM users WHERE username=:username";
$stmt = $dbh->prepare($sql);
$stmt->bindParam(':username', $username);
$stmt->execute();

Dalam kod di atas, kami mengikat parameter: nama pengguna ke pembolehubah Nilai $username terikat pada pernyataan pertanyaan, dengan itu mengelakkan kelemahan suntikan SQL.

2.2 Dapatkan hasil pertanyaan

Selepas kami berjaya melaksanakan pernyataan pertanyaan, kami perlu mendapatkan hasil pelaksanaan PDO menyediakan cara berikut untuk mendapatkan hasil pertanyaan:

  • fetch(): Dapatkan hasil pertanyaan baris demi baris, kembalikan satu baris data setiap kali;
  • fetchColumn(): Dapatkan nilai lajur yang ditentukan dalam set hasil;
  • rowCount(): Kembalikan jumlah bilangan baris dalam hasil pertanyaan.
  • Berikut ialah contoh kod untuk mendapatkan hasil pertanyaan:
  • while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
        echo "username: " . $row['username'] . "
    ";
        echo "email: " . $row['email'] . "
    ";
    }
Dalam kod sampel di atas, kami merentasi keputusan pertanyaan yang ditetapkan melalui gelung sementara, mengembalikan satu baris data setiap satu masa, dan gema Pernyataan mengeluarkan nilai yang sepadan dengan nama pengguna dan lajur e-mel dalam setiap baris data.

2.3 Ikat parameter

Apabila menggunakan PDO untuk melaksanakan pertanyaan yang diprakompil, kita perlu mengikat parameter dinamik dalam pernyataan pertanyaan kepada pembolehubah untuk mengelakkan kerentanan suntikan SQL. PDO menyokong kaedah berikut untuk pengikatan parameter:

bindParam(): Ikat pembolehubah pada parameter pernyataan yang disediakan; pernyataan yang disediakan;

    execute(): laksanakan objek PDOStatement.
  • Berikut ialah kod sampel untuk pengikatan parameter menggunakan kaedah bindParam():
  • $stmt = $dbh->prepare("SELECT * FROM users WHERE username=:username AND email=:email");
    $stmt->bindParam(':username', $username);
    $stmt->bindParam(':email', $email);
    $stmt->execute();
  • Dalam kod sampel di atas, kami menggunakan kaedah bindParam() untuk mengikat $nama pengguna dan $email Pembolehubah terikat pada parameter yang sepadan dalam pernyataan pertanyaan, dan operasi pertanyaan dilaksanakan melalui kaedah execute(). Dengan cara ini, kita boleh mengelakkan kelemahan suntikan SQL semasa membuat pertanyaan.

Gunakan PDO untuk menambah, memadam dan mengubah suai data

Apabila menggunakan PDO untuk menambah, memadam dan mengubah suai data, kita perlu mencipta objek PDO Pernyataan operasi yang sepadan dan simpan hasilnya dalam pembolehubah. Apabila melaksanakan penyataan melalui objek PDO, PDO secara automatik akan melepaskan data input dan menyusunnya sebelum pelaksanaan, dengan itu mengelakkan kelemahan suntikan SQL.
  1. 3.1 Operasi penambahan data
Dalam PDO, kami mencipta pernyataan SQL praproses melalui kaedah prepare() dan menggunakan kaedah execute() untuk menghantar parameter ke dalam pernyataan. Berikut ialah kod sampel yang menggunakan PDO untuk penambahan data:

// 准备SQL语句并绑定参数
$sql = "INSERT INTO `users` (`username`, `email`) VALUES (?, ?)";
$stmt = $dbh->prepare($sql);
$stmt->bindParam(1, $username);
$stmt->bindParam(2, $email);

// 执行SQL语句,插入新的用户记录
$username = 'test_user';
$email = 'test_user@example.com';
$stmt->execute();

Dalam kod di atas, kami mula-mula mencipta pernyataan SQL yang dipraproses melalui kaedah prepare() dan menggunakan kaedah bindParam() untuk menetapkan pembolehubah $username dan $email terikat pada dua ruang letak tanda soal dalam penyata, sepadan dengan dua dalam

? . Akhir sekali, pernyataan SQL dilaksanakan melalui kaedah execute() untuk melengkapkan operasi menambah data.

3.2 Operasi pemadaman data

Apabila menggunakan PDO untuk memadam data, kita perlu mencipta pernyataan SQL praproses melalui kaedah prepare() dan menggunakan kaedah bindParam() untuk memadamkan terikat data kepada kenyataan ini. Berikut ialah contoh kod untuk menggunakan PDO untuk pemadaman data: VALUES (?, ?)

// 准备SQL语句并绑定参数
$sql = "DELETE FROM `users` WHERE `username` = ?";
$stmt = $dbh->prepare($sql);
$stmt->bindParam(1, $username);

// 执行SQL语句,删除指定用户名的用户记录
$username = 'test_user';
$stmt->execute();

Dalam kod sampel di atas, kami mula-mula mencipta pernyataan SQL yang dipraproses melalui kaedah prepare() untuk membolehkannya melaksanakan operasi pemadaman data dan lulus. Kaedah bindParam() mengikat pembolehubah $nama pengguna kepada pemegang tempat tanda soal dalam pernyataan, sepadan dengan salah satu

? . Akhir sekali, pernyataan SQL dilaksanakan melalui kaedah execute() dan operasi pemadaman data selesai.

3.3 Operasi pengubahsuaian data

使用PDO进行数据修改时,我们需要通过prepare()方法创建一个预处理的SQL语句,并使用bindParam()方法将需要修改的数据绑定到该语句中。下面是使用PDO进行数据修改的示例代码:

// 准备SQL语句并绑定参数
$sql = "UPDATE `users` SET `email` = ? WHERE `username` = ?";
$stmt = $dbh->prepare($sql);
$stmt->bindParam(1, $email);
$stmt->bindParam(2, $username);

// 执行SQL语句,更新指定用户名的用户记录
$username = 'test_user';
$email = 'new_test_user@example.com';
$stmt->execute();

在上述示例代码中,我们使用prepare()方法创建了一个预处理的SQL语句,并使用bindParam()方法将需要修改的参数绑定到该语句中。其中,使用了SET语句将用户记录中的email字段进行修改,并使用了WHERE语句将修改操作限制在了指定的用户上。在bindParam()方法中,我们通过1和2两个参数分别对应了email和username,从而完成了参数绑定的操作。

  1. 总结

通过本文的学习,我们了解了如何使用PDO进行MySQL数据库的连接、查询、数据添加、删除和修改等操作。在使用PDO进行操作时,我们需要使用prepare()方法创建一个预处理的SQL语句,并使用bindParam()方法对该语句中的动态参数进行绑定。这样,在使用execute()方法执行语句时,我们就可以避免SQL注入漏洞的发生,使数据操作更加安全可靠。

Atas ialah kandungan terperinci php menggunakan pdo untuk menambah dan memadam. 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
Asid vs pangkalan data asas: perbezaan dan bila menggunakan setiap.Asid vs pangkalan data asas: perbezaan dan bila menggunakan setiap.Mar 26, 2025 pm 04:19 PM

Artikel ini membandingkan model pangkalan data asid dan asas, memperincikan ciri -ciri mereka dan kes penggunaan yang sesuai. Asid mengutamakan integriti data dan konsistensi, sesuai untuk aplikasi kewangan dan e-dagang, sementara asas memberi tumpuan kepada ketersediaan dan

PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail.PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail.Mar 26, 2025 pm 04:18 PM

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

Pengesahan Input PHP: Amalan Terbaik.Pengesahan Input PHP: Amalan Terbaik.Mar 26, 2025 pm 04:17 PM

Artikel membincangkan amalan terbaik untuk pengesahan input PHP untuk meningkatkan keselamatan, memberi tumpuan kepada teknik seperti menggunakan fungsi terbina dalam, pendekatan putih, dan pengesahan sisi pelayan.

PHP API Kadar Mengehadkan: Strategi Pelaksanaan.PHP API Kadar Mengehadkan: Strategi Pelaksanaan.Mar 26, 2025 pm 04:16 PM

Artikel ini membincangkan strategi untuk melaksanakan kadar API yang mengehadkan PHP, termasuk algoritma seperti baldi token dan baldi bocor, dan menggunakan perpustakaan seperti simfoni/kadar-limiter. Ia juga meliputi pemantauan, had kadar penyesuaian secara dinamik, dan tangan

PHP Kata Laluan Hashing: password_hash dan password_verify.PHP Kata Laluan Hashing: password_hash dan password_verify.Mar 26, 2025 pm 04:15 PM

Artikel ini membincangkan manfaat menggunakan password_hash dan password_verify dalam php untuk mendapatkan kata laluan. Hujah utama ialah fungsi ini meningkatkan perlindungan kata laluan melalui penjanaan garam automatik, algoritma hashing yang kuat, dan secur

OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum.OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum.Mar 26, 2025 pm 04:13 PM

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

Pencegahan PHP XSS: Bagaimana Melindungi Terhadap XSS.Pencegahan PHP XSS: Bagaimana Melindungi Terhadap XSS.Mar 26, 2025 pm 04:12 PM

Artikel ini membincangkan strategi untuk mencegah serangan XSS di PHP, memberi tumpuan kepada sanitisasi input, pengekodan output, dan menggunakan perpustakaan dan kerangka kerja yang meningkatkan keselamatan.

PHP Interface vs Kelas Abstrak: Bila Menggunakan Setiap.PHP Interface vs Kelas Abstrak: Bila Menggunakan Setiap.Mar 26, 2025 pm 04:11 PM

Artikel ini membincangkan penggunaan antara muka dan kelas abstrak dalam PHP, memberi tumpuan kepada masa untuk menggunakan setiap. Antara muka menentukan kontrak tanpa pelaksanaan, sesuai untuk kelas yang tidak berkaitan dan warisan berganda. Kelas Abstrak Memberi Funct Biasa

See all articles

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

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