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();