Menggunakan Operator IN dengan Penyata Disediakan MySQLi
Apabila menggunakan operator IN dengan operator IN dalam pernyataan yang disediakan MySQLi, adalah penting untuk memformat dengan betul parameter. Kod awal yang disediakan:
$data_res = $_DB->prepare('SELECT `id`, `name`, `age` FROM `users` WHERE `lastname` IN (?)'); $data_res->bind_param('s', $in_statement);
melibatkan ralat kerana $in_statement ialah rentetan dan bukannya tatasusunan nilai. Untuk menyelesaikan isu ini, pendekatan alternatif menggunakan fungsi call_user_func_array dibentangkan:
$int = str_repeat('i', $count_params); array_unshift($arParams, $int); $q = array_fill(0, $count_params, '?'); $params = implode(',', $q); $data_res = $_DB->prepare('SELECT `id`, `name`, `age` FROM `users` WHERE `lastname` IN ('.$params.')'); call_user_func_array(array($data_res, 'bind_param'), $arParams);
Dalam kod yang diubah suai ini:
Atas ialah kandungan terperinci Bagaimana Menggunakan Operator IN dengan Betul dengan Penyata Disediakan MySQLi dan Pelbagai Parameter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!