我正在尝试使用call_user_func_array将动态数量的值绑定到mysqli_bind_params函数,它似乎按照我期望的方式工作,但它似乎仍然将第一个值称为数组而不是串。任何想法,它都会抛出这个错误。
mysqli_stmt::bind_param() expects parameter 1 to be string, array given in <b>/Applications/XAMPP/xamppfiles/htdocs/Tests/functions.php</b> on line
function insertUsers($db, $keys, $vals){
//temprorarily replacing the $vals with the array $values
$values = array('test','test');
$stmt=$db->prepare("INSERT INTO users ($keys) VALUES (?,?)");
$paramTypes=array('s');
$inputArray[] = &$paramTypes;
$j = count($values);
for($i=0;$i<$j;$i++){
$inputArray[] = &$values[$i];
print_r($inputArray);
call_user_func_array(array($stmt, 'bind_param'), $inputArray);
}
$stmt->execute();
$stmt->close();
}
我也尝试过使用call_user_func_array,但之后又返回了另一个错误。 call_user_func()期望参数1是有效的回调,第一个数组成员不是 /Applications/XAMPP/xamppfiles/htdocs/Tests/functions.php
中的有效类名或对象