我有一个旧的脚本,最近我得到这个错误:
Fatal error: Call-time pass-by-reference has been removed in /****/******/public_html/****/cp-list-summary.php on line 100
在该文件的第 100 行附近看起来像这样:
if ($row[images])
{
$image_set = array ();
$result = mysql_query ('SELECT fname FROM ' . $dbimgs . ' WHERE listid=\'' . $_GET['id'] . '\' ORDER BY id ASC', $link);
while ($images = mysql_fetch_array ($result))
{
array_push (&$image_set, $images[fname]);
}
}
错误的原因是什么以及如何解决?我不是开发人员,所以请慢慢来。
最佳答案
看起来您的站点 php 已经升级或者您正在重用 < php 5.3
的代码只需删除 (&$image
上的 &注意:函数调用没有引用符号——只有函数定义。仅函数定义就足以通过引用正确传递参数。从 PHP 5.3.0 开始,当您在 foo(&$a); 中使用 & 时,您将收到一条警告,指出“调用时按引用传递”已弃用。从 PHP 5.4.0 开始,调用时引用传递被移除,因此使用它会引发 fatal error 。
不应通过引用传递其他表达式,因为结果未定义。
关于PHP fatal error : Call-time pass-by-reference has been removed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19804573/