Dit is een lastige situatie die wordt veroorzaakt door het wijzigen van call_user_func_array
gedrag in PHP 5.4 (ik moet aannemen): Documentatie
Hoe lelijk dit ook is, het zal werken om bind_param
. aan te roepen op deze manier:
$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]);
}
Ik haat dit net zo erg als jij waarschijnlijk doet. Ik raad aan om over te schakelen van mysqli
naar PDO
die variabele parameters op een veel leukere manier afhandelt (en naar mijn mening over het algemeen een superieure syntaxis heeft):
$pdo = new PDO('mysql:host=localhost', 'username', 'password');
$stmt = $pdo->prepare($selectedstudentanswerqry);
$stmt->execute($parameters);
$selectedstudentanswernum = $stmt->rowCount();