我的 PHP 脚本显示错误:
Strict Standards: Only variables should be passed by reference in C:\....*.php on line 551
代码如下:
function trinity_premissions()
{
global $ACC_PDO, $WEB_PDO, $a_user, $db_translation;
$end = false;
$res = $WEB_PDO->prepare("SELECT acc_login, gmlevel FROM `accounts_more` WHERE UPPER(acc_login) = :acc");
/* 551 */$res->bindParam(':acc', strtoupper($a_user[$db_translation['login']]), PDO::PARAM_STR);
$res->execute();
if ($res->rowCount() == 1)
{
$s2 = $res->fetch(PDO::FETCH_ASSOC);
if ($s2['gmlevel']<>'')
{
return $s2['gmlevel'];
}
}
unset($res);
}
我不知道问题是什么。谁能帮我?
您的第二个参数 'strtoupper($a_user[$db_translation['login']])' 必须是对变量的引用。
doc : 参考绑定参数
文档中的“mixed and$variable”说它必须是一个引用(它是“&”)
您可以创建一个变量,并将 'strtoupper($a_user[$db_translation['login']])' 的结果放入其中。
例如 :
$foo = strtoupper($a_user[$db_translation['login']]);
$res->bindParam(':acc', $foo, PDO::PARAM_STR);
希望这有帮助
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)