好的,这是我动态绑定参数的代码。
$sql = "INSERT INTO `users` (`name`, `password`, `email`, `permission`) VALUES (?, ?, ?, ?)";
$sql_stmt = $mysqli->prepare ($sql);
$test = array("ssss","1","2","3","4");
call_user_func_array(array($sql_stmt,'bind_param') ,$test);
$sql_stmt->execute();
我收到“没有为准备好的语句中的参数提供数据”错误。但是,以下行将起作用。
call_user_func_array(array($sql_stmt,'bind_param') ,array("ssss","1","2","3","4"));
我不知道这里发生了什么。
编辑 我刚试过做一个
echo $sql_stmt->param_count;
我得到了正确的4。
如果我能对此有所启发,那将有很大帮助。
谢谢你。