Rumah >pangkalan data >tutorial mysql >Bagaimana Mengendalikan Senarai Bersaiz Pembolehubah dalam Penyata Disediakan MySQL dengan PHP?
Apabila membina pernyataan yang disediakan MySQL dalam PHP, anda mungkin menghadapi situasi di mana bilangan parameter dalam klausa IN adalah berbeza. Untuk mengendalikan situasi ini secara dinamik, pertimbangkan pendekatan berikut:
Buat jadual sementara: Masukkan setiap parameter ke dalam jadual sementara dan kemudian sertai jadual dalam pertanyaan.
Kaedah penyambungan dinamik:
array_fill
dan implode
untuk mencipta klausa IN dengan ruang letak. sprintf
untuk menyediakan pernyataan dengan klausa IN dinamik. Contoh berikut menunjukkan kaedah penyambungan dinamik:
<code class="language-php">$dbh = new PDO($dbConnect, $dbUser, $dbPass); $parms = array(12, 45, 65, 33); $parmcount = count($parms); $inclause = implode(',', array_fill(0, $parmcount, '?')); $sql = 'SELECT age, name FROM people WHERE id IN (%s)'; $preparesql = sprintf($sql, $inclause); $st = $dbh->prepare($preparesql); $st->execute($parms);</code>
Kaedah ini menyediakan cara yang cekap untuk mengendalikan klausa IN bersaiz berubah sambil mengekalkan kelebihan keselamatan dan prestasi kenyataan yang disediakan.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Senarai Bersaiz Pembolehubah dalam Penyata Disediakan MySQL dengan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!