Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan ID Jadual melalui Parameterized SELECT dan Gunakannya untuk INSERT dengan PDO?

Bagaimana untuk Mendapatkan ID Jadual melalui Parameterized SELECT dan Gunakannya untuk INSERT dengan PDO?

Patricia Arquette
Patricia Arquetteasal
2024-12-04 16:40:13216semak imbas

How to Retrieve a Table ID via Parameterized SELECT and Use It for an INSERT with PDO?

PDO: Pertanyaan PILIH Berparameter untuk Pendapatan ID Jadual

Dalam senario ini, kami berusaha untuk mendapatkan ID daripada jadual berdasarkan nama parameter dan tentukan kejayaan operasi INSERT menggunakan ID tersebut.

Untuk mencapainya menggunakan SELECT berparameter pertanyaan dengan PDO, ikut langkah berikut:

  1. Mulakan objek PDO baharu:
$db = new PDO("...");
  1. Sediakan pertanyaan PILIH:
$statement = $db->prepare("SELECT id FROM some_table WHERE name = :name");
  1. Laksanakan pernyataan dengan nama parameter:
$statement->execute([':name' => "Jimbo"]);
  1. Dapatkan ID daripada hasil:
$row = $statement->fetch();
$id = $row['id'];
  1. Sediakan pertanyaan INSERT:
$statement = $db->prepare("INSERT INTO some_other_table (some_id) VALUES (:some_id)");
  1. Laksanakan pernyataan INSERT dengan yang diambil ID:
$statement->execute([':some_id' => $id]);
  1. Untuk memastikan pengendalian ralat yang betul, tetapkan PDO untuk membuang pengecualian:
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

Dengan mengikut langkah ini, anda boleh melaksanakan dengan cekap pertanyaan SELECT berparameter dan gunakan ID yang diambil untuk operasi INSERT seterusnya dalam jadual lain.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan ID Jadual melalui Parameterized SELECT dan Gunakannya untuk INSERT dengan PDO?. 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