PHP 5.3.1 中的按引用传递问题
好吧,这是一个奇怪的问题,所以请耐心等待我解释。
我们将开发服务器从 PHP 5.2.5 升级到 5.3.1。
在切换后加载我们的代码,我们开始收到如下错误:
Warning: Parameter 2 to mysqli_stmt::bind_param() expected to be a reference, value given in /home/spot/trunk/system/core/Database.class.php on line 105
提到的行(105)如下:
call_user_func_array(Array($stmt, 'bind_param'), $passArray);
我们将该行更改为以下内容:
call_user_func_array(Array($stmt, 'bind_param'), &$passArray);
此时(因为 )已关闭,php 会抛出以下内容:allow_call_time_pass_reference
Deprecated: Call-time pass-by-reference has been deprecated in /home/spot/trunk/system/core/Database.class.php on line 105
在尝试修复此问题一段时间后,我崩溃并开始了。allow_call_time_pass_reference
这摆脱了警告,但现在警告每次都会抛出,有或没有引用。Deprecated
Warning: Parameter 2 to mysqli_stmt::bind_param() expected to be a reference
我不知道如何解决这个问题。如果目标方法是我自己的,我会在func声明中引用传入的vars,但它是一个(相对)本机方法(mysqli)。
有没有人经历过这种情况?我该如何绕过它?
谢谢。