Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Erros que aparecem no código mysqli e call_user_func_array()


Esta é uma situação complicada causada pela alteração de call_user_func_array comportamento no PHP 5.4 (tenho que assumir): Documentação

Por mais feio que seja, funcionará para chamar bind_param Por aqui:
$selectedstudentanswerqry .= ' WHERE ' . implode(' AND ', $where);
global $mysqli;
$stmt =$mysqli->prepare($selectedstudentanswerqry);

if (count($where) === 1) {
    $stmt->bind_param($parameterTypes, $parameters[0]);
}
else if (count($where) === 2) {
    $stmt->bind_param($parameterTypes, $parameters[0], $parameters[1]);
}
else if (count($where) === 3) {
    $stmt->bind_param($parameterTypes, $parameters[0], $parameters[1],
       $parameters[2]);
}

Eu odeio isso tanto quanto você provavelmente odeia. Eu sugiro mudar de mysqli para PDO que lida com parâmetros variáveis ​​de uma maneira muito mais agradável (e tem sintaxe superior em geral, na minha opinião):
$pdo = new PDO('mysql:host=localhost', 'username', 'password');
$stmt = $pdo->prepare($selectedstudentanswerqry);
$stmt->execute($parameters);
$selectedstudentanswernum = $stmt->rowCount();