call_user_func_array用于动态mysqli_bind_param

时间:2017-12-15 16:51:31

标签: php mysqli

我正在尝试使用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

中的有效类名或对象

0 个答案:

没有答案