Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menggunakan Pertanyaan SQL Pemegang Tempat untuk Menghantar Tatasusunan ke Klausa WHERE?
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!