Получаете ошибку bind_param () в моем операторе SQL с массивом IN? - PullRequest
0 голосов
/ 07 апреля 2020

Я не могу понять, почему я получаю ошибку: mysqli_stmt::bind_param(): Number of variables doesn't match number of parameters in prepared statement
Я следовал этому примеру:
Передача массива в запрос с использованием предложения WHERE
, если у вас есть любые идеи, которые были бы удивительными!

$sql="SELECT pid,title,description,location FROM jobs WHERE status='o'";
if(isset($_POST['category'])){
    $category_filter = join(',', array_fill(0, count($_POST['category']), '?'));
    $sql .= " AND category IN ('.$category_filter.')";
}

$sql.="ORDER BY job_date DESC";
$stmt = $conn->prepare($sql);
$stmt->bind_param(str_repeat('s', count($_POST['category'])), ...$_POST['category']);
$stmt->execute();
$stmt->bind_result($pid,$title,$description,$location);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...