यह एक चिपचिपी स्थिति है जो call_user_func_array
. के बदलने के कारण होती है PHP 5.4 में व्यवहार (मुझे मानना होगा): दस्तावेज़ीकरण
यह जितना बदसूरत है, यह bind_param
. को कॉल करने का काम करेगा इस तरह:
$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]);
}
मुझे इससे उतनी ही नफरत है जितनी आप शायद करते हैं। मेरा सुझाव है कि mysqli
. से स्विच करें करने के लिए PDO
जो बहुत अच्छे तरीके से चर मापदंडों को संभालता है (और मेरी राय में सामान्य रूप से बेहतर सिंटैक्स है):
$pdo = new PDO('mysql:host=localhost', 'username', 'password');
$stmt = $pdo->prepare($selectedstudentanswerqry);
$stmt->execute($parameters);
$selectedstudentanswernum = $stmt->rowCount();