一尘不染

MySQLI使用call_user_func_array绑定参数

php

请看下面我的代码。我试图将一系列参数绑定到我准备好的语句中。我一直在网上四处逛逛,可以看到我必须使用call_user_func_array但无法正常工作。我得到的错误是:“第一个参数应该是有效的回调,给出了’Array’”我可能是错误的,但是我假设第一个参数可以是一个数组,并且此错误消息可能会引起误解。我认为问题是我的阵列在某种程度上存在错误。谁能看到我在做什么错?谢谢。

$type = array("s", "s");
$param = array("string1","anotherstring");

$stmt = $SQLConnection->prepare("INSERT INTO mytable (comp, addl) VALUES (?,?)");

$params = array_merge($type, $param);

call_user_func_array(array(&$stmt, 'bind_param'), $params);
$SQLConnection->execute();

阅读 362

收藏
2020-05-29

共1个答案

一尘不染

我不知道您为什么 使用call_user_func_array,但这是另一个故事。

在我眼中唯一可能出错的是,您正在使用对该对象的引用。假设您使用的是PHP 5. *,则没有必要:

call_user_func_array(array($stmt, 'bind_param'), $params);
2020-05-29