Rumah >pangkalan data >tutorial mysql >Bagaimana Menggunakan Operator IN dengan Betul dengan Penyata Disediakan MySQLi dan Pelbagai Parameter?
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!