为了账号安全,请及时绑定邮箱和手机立即绑定

如何修复bind_param“无法通过参数”

如何修复bind_param“无法通过参数”

PHP
慕斯王 2021-05-07 13:14:33
我使用的网址:../ accessogiornaliero.php?idplayer = 45ccf2a79ec84caccessogiornaliero.php:$query = $mysqli->prepare('UPDATE player SET lastLogin = ?,loginstreak = ? WHERE idplayer = ?');            $query->bind_param("sis", $qdata, $loginStreak, $_GET["idplayer"]);            $qdata = $now->format('Y-m-d H:i:s');            $query->execute();错误:[05-May-2019 21:19:05 Europe/Rome] PHP Fatal error:  Uncaught Error: Cannot pass parameter 3 by reference in .../accessogiornaliero.php:62Stack trace:#0 {main}  thrown in .../accessogiornaliero.php on line 62我哪里错了?
查看完整描述

2 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

尝试分配值之前


  $query = $mysqli->prepare('UPDATE player SET lastLogin = ?,loginstreak = ? WHERE idplayer = ?');

        $qdata = $now->format('Y-m-d H:i:s');

        $idplayer =  $_GET["idplayer"];

        $query->bind_param("sis", $qdata, $loginStreak,  $idplayer );

        $query->execute();


查看完整回答
反对 回复 2021-05-28
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

我认为您正在尝试传递DateTime对象作为引用?


[05-May-2019 21:19:05 Europe/Rome]在$qdata变量上


我认为您可以/应该重写


$query = $mysqli->prepare('UPDATE player SET lastLogin = ?,loginstreak = ? WHERE idplayer = ?');

            $query->bind_param("sis", $qdata, $loginStreak, $_GET["idplayer"]);

            $qdata = $now->format('Y-m-d H:i:s');

            $query->execute();

使用NOW()更简单的MySQL函数。


$query = $mysqli->prepare('UPDATE player SET lastLogin = NOW(), loginstreak = ? WHERE idplayer = ?');

            $idplayer =  $_GET["idplayer"];

            $query->bind_param("is", $loginStreak, $idplayer);                

            $query->execute();


查看完整回答
反对 回复 2021-05-28
  • 2 回答
  • 0 关注
  • 186 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信