Reputation: 23
The url I use: ../accessogiornaliero.php?idplayer=45ccf2a79ec84c
accessogiornaliero.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();
Error:
[05-May-2019 21:19:05 Europe/Rome] PHP Fatal error: Uncaught Error: Cannot pass parameter 3 by reference in .../accessogiornaliero.php:62
Stack trace:
#0 {main}
thrown in .../accessogiornaliero.php on line 62
Where am I wrong?
Upvotes: 0
Views: 58
Reputation: 11602
I think you are you are trying to pass a DateTime object as reference?
[05-May-2019 21:19:05 Europe/Rome]
on the $qdata
variable
I think you can/should rewrite
$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();
into using MySQL's NOW()
function which is more simple.
$query = $mysqli->prepare('UPDATE player SET lastLogin = NOW(), loginstreak = ? WHERE idplayer = ?');
$idplayer = $_GET["idplayer"];
$query->bind_param("is", $loginStreak, $idplayer);
$query->execute();
Upvotes: 1
Reputation: 133370
Try assign value before
$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();
Upvotes: 1