在 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中文网其他相关文章!