Bagaimanakah Saya Boleh Menggunakan PDO dengan Cekap untuk Pertanyaan PILIH Parameter dan Sisipan Data Seterusnya?

Susan Sarandon
Lepaskan: 2024-11-21 11:04:10
asal
545 orang telah melayarinya

How Can I Efficiently Use PDO for Parameterized SELECT Queries and Subsequent Data Insertion?

Penggunaan Objek PDO yang Betul untuk Pertanyaan PILIHAN Berparameter

Mendapatkan ID Unik Menggunakan SELECT Berparameter

Untuk mendapatkan semula yang unik ID daripada jadual menggunakan pertanyaan SELECT berparameter, ikut ini langkah:

$db = new PDO("...");
$statement = $db->prepare("SELECT id FROM some_table WHERE name = :name");
$statement->execute([':name' => "Jimbo"]);
$row = $statement->fetch();
Salin selepas log masuk

Pembolehubah $row kini akan mengandungi tatasusunan dengan ID.

Memasukkan Data Menggunakan ID Diperoleh

Untuk memasukkan data ke dalam jadual lain menggunakan ID yang diambil, gunakan kod berikut:

$statement = $db->prepare("INSERT INTO some_other_table (some_id) VALUES (:some_id)");
$statement->execute([':some_id' => $row['id']]);
Salin selepas log masuk

Ralat Pengendalian dengan Pengecualian PDO

Untuk pengendalian ralat yang lancar, konfigurasikan PDO untuk membuang pengecualian apabila ralat:

$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Salin selepas log masuk

Kebolehgunaan Semula Penyata Disediakan

Menyediakan penyataan meningkatkan prestasi pertanyaan. Daripada menghuraikan dan menyusun pertanyaan setiap kali ia dilaksanakan, pernyataan yang disediakan dijalankan semula dengan parameter baharu.

Contoh:

Pertimbangkan senario di mana pertanyaan yang sama dilaksanakan beberapa kali dengan parameter yang berbeza. Tanpa menyediakan pernyataan, pertanyaan akan dihuraikan dan disusun setiap kali, membawa kepada pengurangan kecekapan. Dengan menyediakan kenyataan sekali, pelaksanaannya lebih cepat apabila parameter berubah kerana hanya parameter diganti.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan PDO dengan Cekap untuk Pertanyaan PILIH Parameter dan Sisipan Data Seterusnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan