English 中文(简体)
PHP 5.3.1[复制]
原标题:Pass by reference problem with PHP 5.3.1 [duplicate]

奥基先生,这是一个不容置疑的问题,因此,正如我所解释的那样,请与我一起发言。

我们把我们的服务器从PHP 5.2.5升至5.3.1。

在开关之后,我们开始出现错误,如:

Warning: Para amount 2 to mysqli_stmt:bind_param() 预期作为参考值,在105上贴出/home/spot/trunk/system/core/Database.class.php。

上文提及的线(105)如下:

call_user_func_array(Array($stmt,  bind_param ), $passArray);

我们将此线改为:

call_user_func_array(Array($stmt,  bind_param ), &$passArray);

此时此刻(通过allow_quest_time_pass_ Reference)被弃置, php将:

http://www.un.org 以105条

在试图确定这一点一段时间后,我打断并贴上了<条码>allow_打字_time_pass_ Reference。

登上了<条码>的警告,但现在的<条码>交战:第2至我的sqli_stmt:bind_param()预计为的警告,每次都投下 随附或无

我对如何解决这一问题有点不清。 如果目标方法是我自己的,那么我只想提及在单项宣言中即将出现的变数,而是采用一种(相对的)本土方法。

是否有人经历过这种情况? 我怎么能够接手?

谢谢。

最佳回答

你们正在通过一系列内容(绕过Array)。 第二个项目inside 前面的阵列需要作为参考,因为实际上,这是你转而执行职务的项目清单。

问题回答

我刚刚经历过同样的问题,通过电话——用户_func_array和通过一系列参数,把_param捆绑在一起。 解决办法是修改拟提及的阵列中的数值。 它不是leg,而是发挥作用。

call_user_func_array(array($stmt,  bind_param ), makeValuesReferenced($passArray));

function makeValuesReferenced($arr){
    $refs = array();
    foreach($arr as $key => $value)
        $refs[$key] = &$arr[$key];
    return $refs;

}

实际上,人们知道有一张与PHP 5.3.1有关参考资料和所有<代码><>->功能的对照表:

PHP Bugs #50394: 改写为价值的参考论点:

你看到的行为可能是这一丑恶的结果,任何试图确定它是否明智的做法都会长期造成问题。

这一问题已经固定在特殊学校模式中。 在5.3.2公布之前,你可以编辑新的版本,供使用,或降为较早版本。

我们在这个法典中遇到了同样的问题:

call_user_func(array($strCartHandler,  CartPurchaseEvent ), $strCartEvent, $objToUser, null, $this);

我的解决方法是,仅仅使用天空钟码。 并且这样做:

$strCartHandler::CartPurchaseEvent($strCartEvent, $objToUser, null, $this);

我认为,所解释的是通过一项职能。 在职能定义中,你做的是:

function(&$arg) {

}

这给你带来了很大的帮助,但你可能不需要通过任何渠道。 我猜测你可以尝试一种总结性功能。

function wrapper($stmt, &$passArray) {
    call_user_func_array($stmt, $passArray);
}

我想mysqli_bind_param()mysqli_bind_result(的职能是用得非常宽松的。 I ve 碰到与你描述的结合使用的用户_func_array()相同的困难。

我的工作是停止使用我方言,而是使用PDO_mysql。 更便于使用:

$pdoStmt->execute( $passArray );

这将有助于:

<?php
call_user_func_array(Array($stmt,  bind_param ), array(&$passArray));

function bind_param ($val)
{
    $val = (is_array($val)) ? $val[0] : $val;

    // operations...
}

?>

第二批散装 必须是一个阵列。 显然,这只是5.3条所强制执行的。

我提出了一个类似的问题,即现行法典的工作:

$query="Select id,name FROM mytable LIMIT ?,?";
$params=Array( ii );
array_push($params,$from_var);
array_push($params,$to_var);
...
$stmt=$link->prepare("$query");
$ref=new ReflectionClass( mysqli_stmt );
$method=$ref->getMethod("bind_param");
$method->invokeArgs($stmt,$params);
...

它说,“我的sqli-stmt:bind_param()预计为参考,价值为”

因此,在绝望中,我试图从quot和美元到quot。 它工作了!

$params=Array( ii );
array_push($params,"$from_var");
array_push($params,"$to_var");

希望将有助于一些人,好幸运:





相关问题
Brute-force/DoS prevention in PHP [closed]

I am trying to write a script to prevent brute-force login attempts in a website I m building. The logic goes something like this: User sends login information. Check if username and password is ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

定值美元

如何确认来自正确来源的数字。

Generating a drop down list of timezones with PHP

Most sites need some way to show the dates on the site in the users preferred timezone. Below are two lists that I found and then one method using the built in PHP DateTime class in PHP 5. I need ...

Text as watermarking in PHP

I want to create text as a watermark for an image. the water mark should have the following properties front: Impact color: white opacity: 31% Font style: regular, bold Bevel and Emboss size: 30 ...

How does php cast boolean variables?

How does php cast boolean variables? I was trying to save a boolean value to an array: $result["Users"]["is_login"] = true; but when I use debug the is_login value is blank. and when I do ...

热门标签