请看下面我的代码.我试图将一组参数绑定到我准备好的语句.我一直在网上环顾四周,可以看到我必须使用 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();我不知道你为什么必须使用 call_user_func_array,但那是另一回事了.>
在我看来,唯一可能出错的是您使用了对对象的引用.假设您使用的是 PHP 5.*,则没有必要:
call_user_func_array(array($stmt, 'bind_param'), $params);Please see below my code. I am attempting to bind an array of paramenters to my prepared statement. I've been looking around on the web and can see I have to use call_user_func_array but cannot get it to work. The error I get is: "First argument is expected to be a valid callback, 'Array' was given" I may be wrong but I'm assuming the first argument can be an an array and perhaps this error message is misleading. I think the issue is that my array is in someway at fault. Can anyone see what I am doing wrong? Thanks.
$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();
I wouldn't know why you have to use call_user_func_array, but that's another story.
The only thing that could be wrong in my eyes is that you are using a reference to the object. Assuming you're using PHP 5.*, that is not necessary:
call_user_func_array(array($stmt, 'bind_param'), $params);
这篇关于MySQLI 使用 call_user_func_array 绑定参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
mysql 中的 store_result() 和 get_result() 返回 falsestore_result() and get_result() in mysql returns false(mysql 中的 store_result() 和 get_result() 返回 false)
调用未定义的函数 mysqli_result::num_rows()Call to undefined function mysqli_result::num_rows()(调用未定义的函数 mysqli_result::num_rows())
PHP 准备好的语句问题PHP Prepared Statement Problems(PHP 准备好的语句问题)
mysqli_fetch_array 只返回一个结果mysqli_fetch_array returning only one result(mysqli_fetch_array 只返回一个结果)
PHP MySQLi 多次插入PHP MySQLi Multiple Inserts(PHP MySQLi 多次插入)
如何确保 MySQL 中的值在 PHP 中保持其类型?How do I make sure that values from MySQL keep their type in PHP?(如何确保 MySQL 中的值在 PHP 中保持其类型?)