Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menggunakan Pertanyaan SQL Pemegang Tempat untuk Menghantar Tatasusunan ke Klausa WHERE?

Bagaimanakah Saya Boleh Menggunakan Pertanyaan SQL Pemegang Tempat untuk Menghantar Tatasusunan ke Klausa WHERE?

Barbara Streisand
Barbara Streisandasal
2024-12-18 09:52:13390semak imbas

How Can I Use Placeholder SQL Queries to Pass Arrays to WHERE Clauses?

Menggunakan Pertanyaan SQL Pemegang Tempat untuk Menghantar Tatasusunan ke Klausa WHERE

Apabila berurusan dengan tatasusunan dalam pertanyaan SQL, terutamanya apabila menggunakan klausa WHERE, ia menjadi diperlukan untuk mencari cara untuk memasukkan nilai tatasusunan ke dalam rentetan pertanyaan. Tatasusunan ID ($galeri) yang disediakan memerlukan pertanyaan yang menggunakan nilai ini dengan cekap dalam klausa WHEREnya.

Satu penyelesaian melibatkan penggunaan pertanyaan SQL pemegang tempat. Ikuti langkah ini:

1. Tentukan Rentetan Pemegang Tempat:

$placeholder = join(',', array_fill(0, count($galleries), '?'));

Ini menghasilkan rentetan dengan tanda soal yang dipisahkan dengan koma, mewakili ruang letak untuk nilai tatasusunan. Dalam contoh kami, rentetan pemegang tempat ialah "?,,?".

2. Sediakan Rentetan Pertanyaan:

$query = "SELECT * FROM galleries WHERE id IN ({$placeholder})";

Rentetan pertanyaan menggunakan operator IN dan rentetan ruang letak untuk memasukkan nilai tatasusunan ke dalam klausa WHERE.

3. Ikat Nilai Tatasusunan:

Menggunakan pernyataan yang disediakan, ikat nilai tatasusunan pada ruang letak:

$stmt = $conn->prepare($query);
$stmt->bind_param(str_repeat('i', count($galleries)), ...$galleries);

Ini mengikat elemen tatasusunan kepada pemegang tempat dalam pernyataan yang disediakan.

4. Laksanakan Pertanyaan:

$stmt->execute();

Pernyataan yang disediakan dilaksanakan, dengan berkesan menggunakan nilai tatasusunan dalam klausa WHERE.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Pertanyaan SQL Pemegang Tempat untuk Menghantar Tatasusunan ke Klausa WHERE?. 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