Ini adalah situasi sulit yang disebabkan oleh perubahan call_user_func_array perilaku di PHP 5.4 (Saya harus berasumsi): Dokumentasi
Sejelek ini, ini akan berfungsi untuk memanggil bind_param begini:
$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]);
}
Aku benci ini sebanyak yang mungkin Anda lakukan. Saya sarankan beralih dari mysqli ke PDO yang menangani parameter variabel dengan cara yang jauh lebih baik (dan memiliki sintaks yang unggul secara umum, menurut saya):
$pdo = new PDO('mysql:host=localhost', 'username', 'password');
$stmt = $pdo->prepare($selectedstudentanswerqry);
$stmt->execute($parameters);
$selectedstudentanswernum = $stmt->rowCount();