在MySQLi 準備語句中使用IN 運算子
在MySQLi 準備語句中使用IN 運算子和IN 運算子時,正確的運算子時,正確的運算子時,正確的運算子格式至關重要參數。提供的初始代碼:
$data_res = $_DB->prepare('SELECT `id`, `name`, `age` FROM `users` WHERE `lastname` IN (?)'); $data_res->bind_param('s', $in_statement);
涉及錯誤,因為 $in_statement 是字串而不是值數組。為了解決此問題,提出了使用 call_user_func_array 函數的替代方法:
$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);
在此修改後的程式碼中:
以上是如何正確使用 IN 運算子與 MySQLi 預先準備語句和多個參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!